mirror of
https://github.com/dorny/test-reporter.git
synced 2026-02-04 05:27:55 +01:00
Persist test summary on disk
This commit is contained in:
parent
c9b3d0e2bd
commit
83b7f42d2d
19 changed files with 1284 additions and 3655 deletions
|
|
@ -1,371 +1,371 @@
|
|||

|
||||
## ❌ <a id="user-content-r0" href="#r0">fixtures/external/flutter/provider-test-results.json</a>
|
||||
## :x: <a id="user-content-r0" href="#r0">fixtures/external/flutter/provider-test-results.json</a>
|
||||
**269** tests were completed in **0ms** with **268** passed, **1** failed and **0** skipped.
|
||||
|Test suite|Passed|Failed|Skipped|Time|
|
||||
|:---|---:|---:|---:|---:|
|
||||
|[test/builder_test.dart](#r0s0)|24✔️|||402ms|
|
||||
|[test/change_notifier_provider_test.dart](#r0s1)|10✔️|||306ms|
|
||||
|[test/consumer_test.dart](#r0s2)|18✔️|||340ms|
|
||||
|[test/context_test.dart](#r0s3)|31✔️|||698ms|
|
||||
|[test/future_provider_test.dart](#r0s4)|10✔️|||305ms|
|
||||
|[test/inherited_provider_test.dart](#r0s5)|81✔️|||1s|
|
||||
|[test/listenable_provider_test.dart](#r0s6)|16✔️|||353ms|
|
||||
|[test/listenable_proxy_provider_test.dart](#r0s7)|12✔️|||373ms|
|
||||
|[test/multi_provider_test.dart](#r0s8)|3✔️|||198ms|
|
||||
|[test/provider_test.dart](#r0s9)|11✔️|||306ms|
|
||||
|[test/proxy_provider_test.dart](#r0s10)|16✔️|||438ms|
|
||||
|[test/reassemble_test.dart](#r0s11)|3✔️|||221ms|
|
||||
|[test/selector_test.dart](#r0s12)|17✔️|||364ms|
|
||||
|[test/stateful_provider_test.dart](#r0s13)|4✔️|||254ms|
|
||||
|[test/stream_provider_test.dart](#r0s14)|8✔️|||282ms|
|
||||
|[test/value_listenable_provider_test.dart](#r0s15)|4✔️|1❌||327ms|
|
||||
### ✔️ <a id="user-content-r0s0" href="#r0s0">test/builder_test.dart</a>
|
||||
|[test/builder_test.dart](#r0s0)|24:white_check_mark:|||402ms|
|
||||
|[test/change_notifier_provider_test.dart](#r0s1)|10:white_check_mark:|||306ms|
|
||||
|[test/consumer_test.dart](#r0s2)|18:white_check_mark:|||340ms|
|
||||
|[test/context_test.dart](#r0s3)|31:white_check_mark:|||698ms|
|
||||
|[test/future_provider_test.dart](#r0s4)|10:white_check_mark:|||305ms|
|
||||
|[test/inherited_provider_test.dart](#r0s5)|81:white_check_mark:|||1s|
|
||||
|[test/listenable_provider_test.dart](#r0s6)|16:white_check_mark:|||353ms|
|
||||
|[test/listenable_proxy_provider_test.dart](#r0s7)|12:white_check_mark:|||373ms|
|
||||
|[test/multi_provider_test.dart](#r0s8)|3:white_check_mark:|||198ms|
|
||||
|[test/provider_test.dart](#r0s9)|11:white_check_mark:|||306ms|
|
||||
|[test/proxy_provider_test.dart](#r0s10)|16:white_check_mark:|||438ms|
|
||||
|[test/reassemble_test.dart](#r0s11)|3:white_check_mark:|||221ms|
|
||||
|[test/selector_test.dart](#r0s12)|17:white_check_mark:|||364ms|
|
||||
|[test/stateful_provider_test.dart](#r0s13)|4:white_check_mark:|||254ms|
|
||||
|[test/stream_provider_test.dart](#r0s14)|8:white_check_mark:|||282ms|
|
||||
|[test/value_listenable_provider_test.dart](#r0s15)|4:white_check_mark:|1:x:||327ms|
|
||||
### :white_check_mark: <a id="user-content-r0s0" href="#r0s0">test/builder_test.dart</a>
|
||||
```
|
||||
ChangeNotifierProvider
|
||||
✔️ default
|
||||
✔️ .value
|
||||
:white_check_mark: default
|
||||
:white_check_mark: .value
|
||||
ListenableProvider
|
||||
✔️ default
|
||||
✔️ .value
|
||||
:white_check_mark: default
|
||||
:white_check_mark: .value
|
||||
Provider
|
||||
✔️ default
|
||||
✔️ .value
|
||||
:white_check_mark: default
|
||||
:white_check_mark: .value
|
||||
ProxyProvider
|
||||
✔️ 0
|
||||
✔️ 1
|
||||
✔️ 2
|
||||
✔️ 3
|
||||
✔️ 4
|
||||
✔️ 5
|
||||
✔️ 6
|
||||
:white_check_mark: 0
|
||||
:white_check_mark: 1
|
||||
:white_check_mark: 2
|
||||
:white_check_mark: 3
|
||||
:white_check_mark: 4
|
||||
:white_check_mark: 5
|
||||
:white_check_mark: 6
|
||||
MultiProvider
|
||||
✔️ with 1 ChangeNotifierProvider default
|
||||
✔️ with 2 ChangeNotifierProvider default
|
||||
✔️ with ListenableProvider default
|
||||
✔️ with Provider default
|
||||
✔️ with ProxyProvider0
|
||||
✔️ with ProxyProvider1
|
||||
✔️ with ProxyProvider2
|
||||
✔️ with ProxyProvider3
|
||||
✔️ with ProxyProvider4
|
||||
✔️ with ProxyProvider5
|
||||
✔️ with ProxyProvider6
|
||||
:white_check_mark: with 1 ChangeNotifierProvider default
|
||||
:white_check_mark: with 2 ChangeNotifierProvider default
|
||||
:white_check_mark: with ListenableProvider default
|
||||
:white_check_mark: with Provider default
|
||||
:white_check_mark: with ProxyProvider0
|
||||
:white_check_mark: with ProxyProvider1
|
||||
:white_check_mark: with ProxyProvider2
|
||||
:white_check_mark: with ProxyProvider3
|
||||
:white_check_mark: with ProxyProvider4
|
||||
:white_check_mark: with ProxyProvider5
|
||||
:white_check_mark: with ProxyProvider6
|
||||
```
|
||||
### ✔️ <a id="user-content-r0s1" href="#r0s1">test/change_notifier_provider_test.dart</a>
|
||||
### :white_check_mark: <a id="user-content-r0s1" href="#r0s1">test/change_notifier_provider_test.dart</a>
|
||||
```
|
||||
✔️ Use builder property, not child
|
||||
:white_check_mark: Use builder property, not child
|
||||
ChangeNotifierProvider
|
||||
✔️ value
|
||||
✔️ builder
|
||||
✔️ builder1
|
||||
✔️ builder2
|
||||
✔️ builder3
|
||||
✔️ builder4
|
||||
✔️ builder5
|
||||
✔️ builder6
|
||||
✔️ builder0
|
||||
:white_check_mark: value
|
||||
:white_check_mark: builder
|
||||
:white_check_mark: builder1
|
||||
:white_check_mark: builder2
|
||||
:white_check_mark: builder3
|
||||
:white_check_mark: builder4
|
||||
:white_check_mark: builder5
|
||||
:white_check_mark: builder6
|
||||
:white_check_mark: builder0
|
||||
```
|
||||
### ✔️ <a id="user-content-r0s2" href="#r0s2">test/consumer_test.dart</a>
|
||||
### :white_check_mark: <a id="user-content-r0s2" href="#r0s2">test/consumer_test.dart</a>
|
||||
```
|
||||
consumer
|
||||
✔️ obtains value from Provider<T>
|
||||
✔️ crashed with no builder
|
||||
✔️ can be used inside MultiProvider
|
||||
:white_check_mark: obtains value from Provider<T>
|
||||
:white_check_mark: crashed with no builder
|
||||
:white_check_mark: can be used inside MultiProvider
|
||||
consumer2
|
||||
✔️ obtains value from Provider<T>
|
||||
✔️ crashed with no builder
|
||||
✔️ can be used inside MultiProvider
|
||||
:white_check_mark: obtains value from Provider<T>
|
||||
:white_check_mark: crashed with no builder
|
||||
:white_check_mark: can be used inside MultiProvider
|
||||
consumer3
|
||||
✔️ obtains value from Provider<T>
|
||||
✔️ crashed with no builder
|
||||
✔️ can be used inside MultiProvider
|
||||
:white_check_mark: obtains value from Provider<T>
|
||||
:white_check_mark: crashed with no builder
|
||||
:white_check_mark: can be used inside MultiProvider
|
||||
consumer4
|
||||
✔️ obtains value from Provider<T>
|
||||
✔️ crashed with no builder
|
||||
✔️ can be used inside MultiProvider
|
||||
:white_check_mark: obtains value from Provider<T>
|
||||
:white_check_mark: crashed with no builder
|
||||
:white_check_mark: can be used inside MultiProvider
|
||||
consumer5
|
||||
✔️ obtains value from Provider<T>
|
||||
✔️ crashed with no builder
|
||||
✔️ can be used inside MultiProvider
|
||||
:white_check_mark: obtains value from Provider<T>
|
||||
:white_check_mark: crashed with no builder
|
||||
:white_check_mark: can be used inside MultiProvider
|
||||
consumer6
|
||||
✔️ obtains value from Provider<T>
|
||||
✔️ crashed with no builder
|
||||
✔️ can be used inside MultiProvider
|
||||
:white_check_mark: obtains value from Provider<T>
|
||||
:white_check_mark: crashed with no builder
|
||||
:white_check_mark: can be used inside MultiProvider
|
||||
```
|
||||
### ✔️ <a id="user-content-r0s3" href="#r0s3">test/context_test.dart</a>
|
||||
### :white_check_mark: <a id="user-content-r0s3" href="#r0s3">test/context_test.dart</a>
|
||||
```
|
||||
✔️ watch in layoutbuilder
|
||||
✔️ select in layoutbuilder
|
||||
✔️ cannot select in listView
|
||||
✔️ watch in listView
|
||||
✔️ watch in gridView
|
||||
✔️ clears select dependencies for all dependents
|
||||
:white_check_mark: watch in layoutbuilder
|
||||
:white_check_mark: select in layoutbuilder
|
||||
:white_check_mark: cannot select in listView
|
||||
:white_check_mark: watch in listView
|
||||
:white_check_mark: watch in gridView
|
||||
:white_check_mark: clears select dependencies for all dependents
|
||||
BuildContext
|
||||
✔️ internal selected value is updated
|
||||
✔️ create can use read without being lazy
|
||||
✔️ watch can be used inside InheritedProvider.update
|
||||
✔️ select doesn't fail if it loads a provider that depends on other providers
|
||||
✔️ don't call old selectors if the child rebuilds individually
|
||||
✔️ selects throws inside click handlers
|
||||
✔️ select throws if try to read dynamic
|
||||
✔️ select throws ProviderNotFoundException
|
||||
✔️ select throws if watch called inside the callback from build
|
||||
✔️ select throws if read called inside the callback from build
|
||||
✔️ select throws if select called inside the callback from build
|
||||
✔️ select throws if read called inside the callback on dependency change
|
||||
✔️ select throws if watch called inside the callback on dependency change
|
||||
✔️ select throws if select called inside the callback on dependency change
|
||||
✔️ can call read inside didChangeDependencies
|
||||
✔️ select cannot be called inside didChangeDependencies
|
||||
✔️ select in initState throws
|
||||
✔️ watch in initState throws
|
||||
✔️ read in initState works
|
||||
✔️ consumer can be removed and selector stops to be called
|
||||
✔️ context.select deeply compares maps
|
||||
✔️ context.select deeply compares lists
|
||||
✔️ context.select deeply compares iterables
|
||||
✔️ context.select deeply compares sets
|
||||
✔️ context.watch listens to value changes
|
||||
:white_check_mark: internal selected value is updated
|
||||
:white_check_mark: create can use read without being lazy
|
||||
:white_check_mark: watch can be used inside InheritedProvider.update
|
||||
:white_check_mark: select doesn't fail if it loads a provider that depends on other providers
|
||||
:white_check_mark: don't call old selectors if the child rebuilds individually
|
||||
:white_check_mark: selects throws inside click handlers
|
||||
:white_check_mark: select throws if try to read dynamic
|
||||
:white_check_mark: select throws ProviderNotFoundException
|
||||
:white_check_mark: select throws if watch called inside the callback from build
|
||||
:white_check_mark: select throws if read called inside the callback from build
|
||||
:white_check_mark: select throws if select called inside the callback from build
|
||||
:white_check_mark: select throws if read called inside the callback on dependency change
|
||||
:white_check_mark: select throws if watch called inside the callback on dependency change
|
||||
:white_check_mark: select throws if select called inside the callback on dependency change
|
||||
:white_check_mark: can call read inside didChangeDependencies
|
||||
:white_check_mark: select cannot be called inside didChangeDependencies
|
||||
:white_check_mark: select in initState throws
|
||||
:white_check_mark: watch in initState throws
|
||||
:white_check_mark: read in initState works
|
||||
:white_check_mark: consumer can be removed and selector stops to be called
|
||||
:white_check_mark: context.select deeply compares maps
|
||||
:white_check_mark: context.select deeply compares lists
|
||||
:white_check_mark: context.select deeply compares iterables
|
||||
:white_check_mark: context.select deeply compares sets
|
||||
:white_check_mark: context.watch listens to value changes
|
||||
```
|
||||
### ✔️ <a id="user-content-r0s4" href="#r0s4">test/future_provider_test.dart</a>
|
||||
### :white_check_mark: <a id="user-content-r0s4" href="#r0s4">test/future_provider_test.dart</a>
|
||||
```
|
||||
✔️ works with MultiProvider
|
||||
✔️ (catchError) previous future completes after transition is no-op
|
||||
✔️ previous future completes after transition is no-op
|
||||
✔️ transition from future to future preserve state
|
||||
✔️ throws if future has error and catchError is missing
|
||||
✔️ calls catchError if present and future has error
|
||||
✔️ works with null
|
||||
✔️ create and dispose future with builder
|
||||
✔️ FutureProvider() crashes if builder is null
|
||||
:white_check_mark: works with MultiProvider
|
||||
:white_check_mark: (catchError) previous future completes after transition is no-op
|
||||
:white_check_mark: previous future completes after transition is no-op
|
||||
:white_check_mark: transition from future to future preserve state
|
||||
:white_check_mark: throws if future has error and catchError is missing
|
||||
:white_check_mark: calls catchError if present and future has error
|
||||
:white_check_mark: works with null
|
||||
:white_check_mark: create and dispose future with builder
|
||||
:white_check_mark: FutureProvider() crashes if builder is null
|
||||
FutureProvider()
|
||||
✔️ crashes if builder is null
|
||||
:white_check_mark: crashes if builder is null
|
||||
```
|
||||
### ✔️ <a id="user-content-r0s5" href="#r0s5">test/inherited_provider_test.dart</a>
|
||||
### :white_check_mark: <a id="user-content-r0s5" href="#r0s5">test/inherited_provider_test.dart</a>
|
||||
```
|
||||
✔️ regression test #377
|
||||
✔️ rebuild on dependency flags update
|
||||
✔️ properly update debug flags if a create triggers another deferred create
|
||||
✔️ properly update debug flags if a create triggers another deferred create
|
||||
✔️ properly update debug flags if an update triggers another create/update
|
||||
✔️ properly update debug flags if a create triggers another create/update
|
||||
✔️ Provider.of(listen: false) outside of build works when it loads a provider
|
||||
✔️ new value is available in didChangeDependencies
|
||||
✔️ builder receives the current value and updates independently from `update`
|
||||
✔️ builder can _not_ rebuild when provider updates
|
||||
✔️ builder rebuilds if provider is recreated
|
||||
✔️ provider.of throws if listen:true outside of the widget tree
|
||||
✔️ InheritedProvider throws if no child is provided with default constructor
|
||||
✔️ InheritedProvider throws if no child is provided with value constructor
|
||||
✔️ DeferredInheritedProvider throws if no child is provided with default constructor
|
||||
✔️ DeferredInheritedProvider throws if no child is provided with value constructor
|
||||
✔️ startListening markNeedsNotifyDependents
|
||||
✔️ InheritedProvider can be subclassed
|
||||
✔️ DeferredInheritedProvider can be subclassed
|
||||
✔️ can be used with MultiProvider
|
||||
✔️ throw if the widget ctor changes
|
||||
✔️ InheritedProvider lazy loading can be disabled
|
||||
✔️ InheritedProvider.value lazy loading can be disabled
|
||||
✔️ InheritedProvider subclass don't have to specify default lazy value
|
||||
✔️ DeferredInheritedProvider lazy loading can be disabled
|
||||
✔️ DeferredInheritedProvider.value lazy loading can be disabled
|
||||
✔️ selector
|
||||
✔️ can select multiple types from same provider
|
||||
✔️ can select same type on two different providers
|
||||
✔️ can select same type twice on same provider
|
||||
✔️ Provider.of has a proper error message if context is null
|
||||
:white_check_mark: regression test #377
|
||||
:white_check_mark: rebuild on dependency flags update
|
||||
:white_check_mark: properly update debug flags if a create triggers another deferred create
|
||||
:white_check_mark: properly update debug flags if a create triggers another deferred create
|
||||
:white_check_mark: properly update debug flags if an update triggers another create/update
|
||||
:white_check_mark: properly update debug flags if a create triggers another create/update
|
||||
:white_check_mark: Provider.of(listen: false) outside of build works when it loads a provider
|
||||
:white_check_mark: new value is available in didChangeDependencies
|
||||
:white_check_mark: builder receives the current value and updates independently from `update`
|
||||
:white_check_mark: builder can _not_ rebuild when provider updates
|
||||
:white_check_mark: builder rebuilds if provider is recreated
|
||||
:white_check_mark: provider.of throws if listen:true outside of the widget tree
|
||||
:white_check_mark: InheritedProvider throws if no child is provided with default constructor
|
||||
:white_check_mark: InheritedProvider throws if no child is provided with value constructor
|
||||
:white_check_mark: DeferredInheritedProvider throws if no child is provided with default constructor
|
||||
:white_check_mark: DeferredInheritedProvider throws if no child is provided with value constructor
|
||||
:white_check_mark: startListening markNeedsNotifyDependents
|
||||
:white_check_mark: InheritedProvider can be subclassed
|
||||
:white_check_mark: DeferredInheritedProvider can be subclassed
|
||||
:white_check_mark: can be used with MultiProvider
|
||||
:white_check_mark: throw if the widget ctor changes
|
||||
:white_check_mark: InheritedProvider lazy loading can be disabled
|
||||
:white_check_mark: InheritedProvider.value lazy loading can be disabled
|
||||
:white_check_mark: InheritedProvider subclass don't have to specify default lazy value
|
||||
:white_check_mark: DeferredInheritedProvider lazy loading can be disabled
|
||||
:white_check_mark: DeferredInheritedProvider.value lazy loading can be disabled
|
||||
:white_check_mark: selector
|
||||
:white_check_mark: can select multiple types from same provider
|
||||
:white_check_mark: can select same type on two different providers
|
||||
:white_check_mark: can select same type twice on same provider
|
||||
:white_check_mark: Provider.of has a proper error message if context is null
|
||||
diagnostics
|
||||
✔️ InheritedProvider.value
|
||||
✔️ InheritedProvider doesn't break lazy loading
|
||||
✔️ InheritedProvider show if listening
|
||||
✔️ DeferredInheritedProvider.value
|
||||
✔️ DeferredInheritedProvider
|
||||
:white_check_mark: InheritedProvider.value
|
||||
:white_check_mark: InheritedProvider doesn't break lazy loading
|
||||
:white_check_mark: InheritedProvider show if listening
|
||||
:white_check_mark: DeferredInheritedProvider.value
|
||||
:white_check_mark: DeferredInheritedProvider
|
||||
InheritedProvider.value()
|
||||
✔️ markNeedsNotifyDependents during startListening is noop
|
||||
✔️ startListening called again when create returns new value
|
||||
✔️ startListening
|
||||
✔️ stopListening not called twice if rebuild doesn't have listeners
|
||||
✔️ removeListener cannot be null
|
||||
✔️ pass down current value
|
||||
✔️ default updateShouldNotify
|
||||
✔️ custom updateShouldNotify
|
||||
:white_check_mark: markNeedsNotifyDependents during startListening is noop
|
||||
:white_check_mark: startListening called again when create returns new value
|
||||
:white_check_mark: startListening
|
||||
:white_check_mark: stopListening not called twice if rebuild doesn't have listeners
|
||||
:white_check_mark: removeListener cannot be null
|
||||
:white_check_mark: pass down current value
|
||||
:white_check_mark: default updateShouldNotify
|
||||
:white_check_mark: custom updateShouldNotify
|
||||
InheritedProvider()
|
||||
✔️ hasValue
|
||||
✔️ provider calls update if rebuilding only due to didChangeDependencies
|
||||
✔️ provider notifying dependents doesn't call update
|
||||
✔️ update can call Provider.of with listen:true
|
||||
✔️ update lazy loaded can call Provider.of with listen:true
|
||||
✔️ markNeedsNotifyDependents during startListening is noop
|
||||
✔️ update can obtain parent of the same type than self
|
||||
✔️ _debugCheckInvalidValueType
|
||||
✔️ startListening
|
||||
✔️ startListening called again when create returns new value
|
||||
✔️ stopListening not called twice if rebuild doesn't have listeners
|
||||
✔️ removeListener cannot be null
|
||||
✔️ fails if initialValueBuilder calls inheritFromElement/inheritFromWiggetOfExactType
|
||||
✔️ builder is called on every rebuild and after a dependency change
|
||||
✔️ builder with no updateShouldNotify use ==
|
||||
✔️ builder calls updateShouldNotify callback
|
||||
✔️ initialValue is transmitted to valueBuilder
|
||||
✔️ calls builder again if dependencies change
|
||||
✔️ exposes initialValue if valueBuilder is null
|
||||
✔️ call dispose on unmount
|
||||
✔️ builder unmount, dispose not called if value never read
|
||||
✔️ call dispose after new value
|
||||
✔️ valueBuilder works without initialBuilder
|
||||
✔️ calls initialValueBuilder lazily once
|
||||
✔️ throws if both builder and initialBuilder are missing
|
||||
:white_check_mark: hasValue
|
||||
:white_check_mark: provider calls update if rebuilding only due to didChangeDependencies
|
||||
:white_check_mark: provider notifying dependents doesn't call update
|
||||
:white_check_mark: update can call Provider.of with listen:true
|
||||
:white_check_mark: update lazy loaded can call Provider.of with listen:true
|
||||
:white_check_mark: markNeedsNotifyDependents during startListening is noop
|
||||
:white_check_mark: update can obtain parent of the same type than self
|
||||
:white_check_mark: _debugCheckInvalidValueType
|
||||
:white_check_mark: startListening
|
||||
:white_check_mark: startListening called again when create returns new value
|
||||
:white_check_mark: stopListening not called twice if rebuild doesn't have listeners
|
||||
:white_check_mark: removeListener cannot be null
|
||||
:white_check_mark: fails if initialValueBuilder calls inheritFromElement/inheritFromWiggetOfExactType
|
||||
:white_check_mark: builder is called on every rebuild and after a dependency change
|
||||
:white_check_mark: builder with no updateShouldNotify use ==
|
||||
:white_check_mark: builder calls updateShouldNotify callback
|
||||
:white_check_mark: initialValue is transmitted to valueBuilder
|
||||
:white_check_mark: calls builder again if dependencies change
|
||||
:white_check_mark: exposes initialValue if valueBuilder is null
|
||||
:white_check_mark: call dispose on unmount
|
||||
:white_check_mark: builder unmount, dispose not called if value never read
|
||||
:white_check_mark: call dispose after new value
|
||||
:white_check_mark: valueBuilder works without initialBuilder
|
||||
:white_check_mark: calls initialValueBuilder lazily once
|
||||
:white_check_mark: throws if both builder and initialBuilder are missing
|
||||
DeferredInheritedProvider.value()
|
||||
✔️ hasValue
|
||||
✔️ startListening
|
||||
✔️ stopListening cannot be null
|
||||
✔️ startListening doesn't need setState if already initialized
|
||||
✔️ setState without updateShouldNotify
|
||||
✔️ setState with updateShouldNotify
|
||||
✔️ startListening never leave the widget uninitialized
|
||||
✔️ startListening called again on controller change
|
||||
:white_check_mark: hasValue
|
||||
:white_check_mark: startListening
|
||||
:white_check_mark: stopListening cannot be null
|
||||
:white_check_mark: startListening doesn't need setState if already initialized
|
||||
:white_check_mark: setState without updateShouldNotify
|
||||
:white_check_mark: setState with updateShouldNotify
|
||||
:white_check_mark: startListening never leave the widget uninitialized
|
||||
:white_check_mark: startListening called again on controller change
|
||||
DeferredInheritedProvider()
|
||||
✔️ create can't call inherited widgets
|
||||
✔️ creates the value lazily
|
||||
✔️ dispose
|
||||
✔️ dispose no-op if never built
|
||||
:white_check_mark: create can't call inherited widgets
|
||||
:white_check_mark: creates the value lazily
|
||||
:white_check_mark: dispose
|
||||
:white_check_mark: dispose no-op if never built
|
||||
```
|
||||
### ✔️ <a id="user-content-r0s6" href="#r0s6">test/listenable_provider_test.dart</a>
|
||||
### :white_check_mark: <a id="user-content-r0s6" href="#r0s6">test/listenable_provider_test.dart</a>
|
||||
```
|
||||
ListenableProvider
|
||||
✔️ works with MultiProvider
|
||||
✔️ asserts that the created notifier can have listeners
|
||||
✔️ don't listen again if listenable instance doesn't change
|
||||
✔️ works with null (default)
|
||||
✔️ works with null (create)
|
||||
✔️ stateful create called once
|
||||
✔️ dispose called on unmount
|
||||
✔️ dispose can be null
|
||||
✔️ changing listenable rebuilds descendants
|
||||
✔️ rebuilding with the same provider don't rebuilds descendants
|
||||
✔️ notifylistener rebuilds descendants
|
||||
:white_check_mark: works with MultiProvider
|
||||
:white_check_mark: asserts that the created notifier can have listeners
|
||||
:white_check_mark: don't listen again if listenable instance doesn't change
|
||||
:white_check_mark: works with null (default)
|
||||
:white_check_mark: works with null (create)
|
||||
:white_check_mark: stateful create called once
|
||||
:white_check_mark: dispose called on unmount
|
||||
:white_check_mark: dispose can be null
|
||||
:white_check_mark: changing listenable rebuilds descendants
|
||||
:white_check_mark: rebuilding with the same provider don't rebuilds descendants
|
||||
:white_check_mark: notifylistener rebuilds descendants
|
||||
ListenableProvider value constructor
|
||||
✔️ pass down key
|
||||
✔️ changing the Listenable instance rebuilds dependents
|
||||
:white_check_mark: pass down key
|
||||
:white_check_mark: changing the Listenable instance rebuilds dependents
|
||||
ListenableProvider stateful constructor
|
||||
✔️ called with context
|
||||
✔️ pass down key
|
||||
✔️ throws if create is null
|
||||
:white_check_mark: called with context
|
||||
:white_check_mark: pass down key
|
||||
:white_check_mark: throws if create is null
|
||||
```
|
||||
### ✔️ <a id="user-content-r0s7" href="#r0s7">test/listenable_proxy_provider_test.dart</a>
|
||||
### :white_check_mark: <a id="user-content-r0s7" href="#r0s7">test/listenable_proxy_provider_test.dart</a>
|
||||
```
|
||||
ListenableProxyProvider
|
||||
✔️ throws if update is missing
|
||||
✔️ asserts that the created notifier has no listener
|
||||
✔️ asserts that the created notifier has no listener after rebuild
|
||||
✔️ rebuilds dependendents when listeners are called
|
||||
✔️ update returning a new Listenable disposes the previously created value and update dependents
|
||||
✔️ disposes of created value
|
||||
:white_check_mark: throws if update is missing
|
||||
:white_check_mark: asserts that the created notifier has no listener
|
||||
:white_check_mark: asserts that the created notifier has no listener after rebuild
|
||||
:white_check_mark: rebuilds dependendents when listeners are called
|
||||
:white_check_mark: update returning a new Listenable disposes the previously created value and update dependents
|
||||
:white_check_mark: disposes of created value
|
||||
ListenableProxyProvider variants
|
||||
✔️ ListenableProxyProvider
|
||||
✔️ ListenableProxyProvider2
|
||||
✔️ ListenableProxyProvider3
|
||||
✔️ ListenableProxyProvider4
|
||||
✔️ ListenableProxyProvider5
|
||||
✔️ ListenableProxyProvider6
|
||||
:white_check_mark: ListenableProxyProvider
|
||||
:white_check_mark: ListenableProxyProvider2
|
||||
:white_check_mark: ListenableProxyProvider3
|
||||
:white_check_mark: ListenableProxyProvider4
|
||||
:white_check_mark: ListenableProxyProvider5
|
||||
:white_check_mark: ListenableProxyProvider6
|
||||
```
|
||||
### ✔️ <a id="user-content-r0s8" href="#r0s8">test/multi_provider_test.dart</a>
|
||||
### :white_check_mark: <a id="user-content-r0s8" href="#r0s8">test/multi_provider_test.dart</a>
|
||||
```
|
||||
MultiProvider
|
||||
✔️ throw if providers is null
|
||||
✔️ MultiProvider children can only access parent providers
|
||||
✔️ MultiProvider.providers with ignored child
|
||||
:white_check_mark: throw if providers is null
|
||||
:white_check_mark: MultiProvider children can only access parent providers
|
||||
:white_check_mark: MultiProvider.providers with ignored child
|
||||
```
|
||||
### ✔️ <a id="user-content-r0s9" href="#r0s9">test/provider_test.dart</a>
|
||||
### :white_check_mark: <a id="user-content-r0s9" href="#r0s9">test/provider_test.dart</a>
|
||||
```
|
||||
✔️ works with MultiProvider
|
||||
:white_check_mark: works with MultiProvider
|
||||
Provider.of
|
||||
✔️ throws if T is dynamic
|
||||
✔️ listen defaults to true when building widgets
|
||||
✔️ listen defaults to false outside of the widget tree
|
||||
✔️ listen:false doesn't trigger rebuild
|
||||
✔️ listen:true outside of the widget tree throws
|
||||
:white_check_mark: throws if T is dynamic
|
||||
:white_check_mark: listen defaults to true when building widgets
|
||||
:white_check_mark: listen defaults to false outside of the widget tree
|
||||
:white_check_mark: listen:false doesn't trigger rebuild
|
||||
:white_check_mark: listen:true outside of the widget tree throws
|
||||
Provider
|
||||
✔️ throws if the provided value is a Listenable/Stream
|
||||
✔️ debugCheckInvalidValueType can be disabled
|
||||
✔️ simple usage
|
||||
✔️ throws an error if no provider found
|
||||
✔️ update should notify
|
||||
:white_check_mark: throws if the provided value is a Listenable/Stream
|
||||
:white_check_mark: debugCheckInvalidValueType can be disabled
|
||||
:white_check_mark: simple usage
|
||||
:white_check_mark: throws an error if no provider found
|
||||
:white_check_mark: update should notify
|
||||
```
|
||||
### ✔️ <a id="user-content-r0s10" href="#r0s10">test/proxy_provider_test.dart</a>
|
||||
### :white_check_mark: <a id="user-content-r0s10" href="#r0s10">test/proxy_provider_test.dart</a>
|
||||
```
|
||||
ProxyProvider
|
||||
✔️ throws if the provided value is a Listenable/Stream
|
||||
✔️ debugCheckInvalidValueType can be disabled
|
||||
✔️ create creates initial value
|
||||
✔️ consume another providers
|
||||
✔️ rebuild descendants if value change
|
||||
✔️ call dispose when unmounted with the latest result
|
||||
✔️ don't rebuild descendants if value doesn't change
|
||||
✔️ pass down updateShouldNotify
|
||||
✔️ works with MultiProvider
|
||||
✔️ update callback can trigger descendants setState synchronously
|
||||
✔️ throws if update is null
|
||||
:white_check_mark: throws if the provided value is a Listenable/Stream
|
||||
:white_check_mark: debugCheckInvalidValueType can be disabled
|
||||
:white_check_mark: create creates initial value
|
||||
:white_check_mark: consume another providers
|
||||
:white_check_mark: rebuild descendants if value change
|
||||
:white_check_mark: call dispose when unmounted with the latest result
|
||||
:white_check_mark: don't rebuild descendants if value doesn't change
|
||||
:white_check_mark: pass down updateShouldNotify
|
||||
:white_check_mark: works with MultiProvider
|
||||
:white_check_mark: update callback can trigger descendants setState synchronously
|
||||
:white_check_mark: throws if update is null
|
||||
ProxyProvider variants
|
||||
✔️ ProxyProvider2
|
||||
✔️ ProxyProvider3
|
||||
✔️ ProxyProvider4
|
||||
✔️ ProxyProvider5
|
||||
✔️ ProxyProvider6
|
||||
:white_check_mark: ProxyProvider2
|
||||
:white_check_mark: ProxyProvider3
|
||||
:white_check_mark: ProxyProvider4
|
||||
:white_check_mark: ProxyProvider5
|
||||
:white_check_mark: ProxyProvider6
|
||||
```
|
||||
### ✔️ <a id="user-content-r0s11" href="#r0s11">test/reassemble_test.dart</a>
|
||||
### :white_check_mark: <a id="user-content-r0s11" href="#r0s11">test/reassemble_test.dart</a>
|
||||
```
|
||||
✔️ ReassembleHandler
|
||||
✔️ unevaluated create
|
||||
✔️ unevaluated create
|
||||
:white_check_mark: ReassembleHandler
|
||||
:white_check_mark: unevaluated create
|
||||
:white_check_mark: unevaluated create
|
||||
```
|
||||
### ✔️ <a id="user-content-r0s12" href="#r0s12">test/selector_test.dart</a>
|
||||
### :white_check_mark: <a id="user-content-r0s12" href="#r0s12">test/selector_test.dart</a>
|
||||
```
|
||||
✔️ asserts that builder/selector are not null
|
||||
✔️ Deep compare maps by default
|
||||
✔️ Deep compare iterables by default
|
||||
✔️ Deep compare sets by default
|
||||
✔️ Deep compare lists by default
|
||||
✔️ custom shouldRebuid
|
||||
✔️ passes `child` and `key`
|
||||
✔️ calls builder if the callback changes
|
||||
✔️ works with MultiProvider
|
||||
✔️ don't call builder again if it rebuilds but selector returns the same thing
|
||||
✔️ call builder again if it rebuilds abd selector returns the a different variable
|
||||
✔️ Selector
|
||||
✔️ Selector2
|
||||
✔️ Selector3
|
||||
✔️ Selector4
|
||||
✔️ Selector5
|
||||
✔️ Selector6
|
||||
:white_check_mark: asserts that builder/selector are not null
|
||||
:white_check_mark: Deep compare maps by default
|
||||
:white_check_mark: Deep compare iterables by default
|
||||
:white_check_mark: Deep compare sets by default
|
||||
:white_check_mark: Deep compare lists by default
|
||||
:white_check_mark: custom shouldRebuid
|
||||
:white_check_mark: passes `child` and `key`
|
||||
:white_check_mark: calls builder if the callback changes
|
||||
:white_check_mark: works with MultiProvider
|
||||
:white_check_mark: don't call builder again if it rebuilds but selector returns the same thing
|
||||
:white_check_mark: call builder again if it rebuilds abd selector returns the a different variable
|
||||
:white_check_mark: Selector
|
||||
:white_check_mark: Selector2
|
||||
:white_check_mark: Selector3
|
||||
:white_check_mark: Selector4
|
||||
:white_check_mark: Selector5
|
||||
:white_check_mark: Selector6
|
||||
```
|
||||
### ✔️ <a id="user-content-r0s13" href="#r0s13">test/stateful_provider_test.dart</a>
|
||||
### :white_check_mark: <a id="user-content-r0s13" href="#r0s13">test/stateful_provider_test.dart</a>
|
||||
```
|
||||
✔️ asserts
|
||||
✔️ works with MultiProvider
|
||||
✔️ calls create only once
|
||||
✔️ dispose
|
||||
:white_check_mark: asserts
|
||||
:white_check_mark: works with MultiProvider
|
||||
:white_check_mark: calls create only once
|
||||
:white_check_mark: dispose
|
||||
```
|
||||
### ✔️ <a id="user-content-r0s14" href="#r0s14">test/stream_provider_test.dart</a>
|
||||
### :white_check_mark: <a id="user-content-r0s14" href="#r0s14">test/stream_provider_test.dart</a>
|
||||
```
|
||||
✔️ works with MultiProvider
|
||||
✔️ transition from stream to stream preserve state
|
||||
✔️ throws if stream has error and catchError is missing
|
||||
✔️ calls catchError if present and stream has error
|
||||
✔️ works with null
|
||||
✔️ StreamProvider() crashes if builder is null
|
||||
:white_check_mark: works with MultiProvider
|
||||
:white_check_mark: transition from stream to stream preserve state
|
||||
:white_check_mark: throws if stream has error and catchError is missing
|
||||
:white_check_mark: calls catchError if present and stream has error
|
||||
:white_check_mark: works with null
|
||||
:white_check_mark: StreamProvider() crashes if builder is null
|
||||
StreamProvider()
|
||||
✔️ create and dispose stream with builder
|
||||
✔️ crashes if builder is null
|
||||
:white_check_mark: create and dispose stream with builder
|
||||
:white_check_mark: crashes if builder is null
|
||||
```
|
||||
### ❌ <a id="user-content-r0s15" href="#r0s15">test/value_listenable_provider_test.dart</a>
|
||||
### :x: <a id="user-content-r0s15" href="#r0s15">test/value_listenable_provider_test.dart</a>
|
||||
```
|
||||
valueListenableProvider
|
||||
✔️ rebuilds when value change
|
||||
✔️ don't rebuild dependents by default
|
||||
✔️ pass keys
|
||||
✔️ don't listen again if stream instance doesn't change
|
||||
❌ pass updateShouldNotify
|
||||
:white_check_mark: rebuilds when value change
|
||||
:white_check_mark: don't rebuild dependents by default
|
||||
:white_check_mark: pass keys
|
||||
:white_check_mark: don't listen again if stream instance doesn't change
|
||||
:x: pass updateShouldNotify
|
||||
The following TestFailure object was thrown running a test:
|
||||
Expected: <2>
|
||||
Actual: <1>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue