test-reporter/__tests__/__outputs__/provider-test-results.md
2024-03-01 14:07:39 +01:00

14 KiB

Tests failed

🔴 fixtures/external/flutter/provider-test-results.json

269 tests were completed in 0ms with 268 passed, 1 failed and 0 skipped.

Test suite Passed Failed Skipped Time
🟢 test/builder_test.dart 24 402ms
🟢 test/change_notifier_provider_test.dart 10 306ms
🟢 test/consumer_test.dart 18 340ms
🟢 test/context_test.dart 31 698ms
🟢 test/future_provider_test.dart 10 305ms
🟢 test/inherited_provider_test.dart 81 1s
🟢 test/listenable_provider_test.dart 16 353ms
🟢 test/listenable_proxy_provider_test.dart 12 373ms
🟢 test/multi_provider_test.dart 3 198ms
🟢 test/provider_test.dart 11 306ms
🟢 test/proxy_provider_test.dart 16 438ms
🟢 test/reassemble_test.dart 3 221ms
🟢 test/selector_test.dart 17 364ms
🟢 test/stateful_provider_test.dart 4 254ms
🟢 test/stream_provider_test.dart 8 282ms
🔴 test/value_listenable_provider_test.dart 4 1 327ms

🟢 test/builder_test.dart

ChangeNotifierProvider
  🟢 default
  🟢 .value
ListenableProvider
  🟢 default
  🟢 .value
Provider
  🟢 default
  🟢 .value
ProxyProvider
  🟢 0
  🟢 1
  🟢 2
  🟢 3
  🟢 4
  🟢 5
  🟢 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

🟢 test/change_notifier_provider_test.dart

🟢 Use builder property, not child
ChangeNotifierProvider
  🟢 value
  🟢 builder
  🟢 builder1
  🟢 builder2
  🟢 builder3
  🟢 builder4
  🟢 builder5
  🟢 builder6
  🟢 builder0

🟢 test/consumer_test.dart

consumer
  🟢 obtains value from Provider<T>
  🟢 crashed with no builder
  🟢 can be used inside MultiProvider
consumer2
  🟢 obtains value from Provider<T>
  🟢 crashed with no builder
  🟢 can be used inside MultiProvider
consumer3
  🟢 obtains value from Provider<T>
  🟢 crashed with no builder
  🟢 can be used inside MultiProvider
consumer4
  🟢 obtains value from Provider<T>
  🟢 crashed with no builder
  🟢 can be used inside MultiProvider
consumer5
  🟢 obtains value from Provider<T>
  🟢 crashed with no builder
  🟢 can be used inside MultiProvider
consumer6
  🟢 obtains value from Provider<T>
  🟢 crashed with no builder
  🟢 can be used inside MultiProvider

🟢 test/context_test.dart

🟢 watch in layoutbuilder
🟢 select in layoutbuilder
🟢 cannot select in listView
🟢 watch in listView
🟢 watch in gridView
🟢 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

🟢 test/future_provider_test.dart

🟢 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
FutureProvider()
  🟢 crashes if builder is null

🟢 test/inherited_provider_test.dart

🟢 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
diagnostics
  🟢 InheritedProvider.value
  🟢 InheritedProvider doesn't break lazy loading
  🟢 InheritedProvider show if listening
  🟢 DeferredInheritedProvider.value
  🟢 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
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
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
DeferredInheritedProvider()
  🟢 create can't call inherited widgets
  🟢 creates the value lazily
  🟢 dispose
  🟢 dispose no-op if never built

🟢 test/listenable_provider_test.dart

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
ListenableProvider value constructor
  🟢 pass down key
  🟢 changing the Listenable instance rebuilds dependents
ListenableProvider stateful constructor
  🟢 called with context
  🟢 pass down key
  🟢 throws if create is null

🟢 test/listenable_proxy_provider_test.dart

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
ListenableProxyProvider variants
  🟢 ListenableProxyProvider
  🟢 ListenableProxyProvider2
  🟢 ListenableProxyProvider3
  🟢 ListenableProxyProvider4
  🟢 ListenableProxyProvider5
  🟢 ListenableProxyProvider6

🟢 test/multi_provider_test.dart

MultiProvider
  🟢 throw if providers is null
  🟢 MultiProvider children can only access parent providers
  🟢 MultiProvider.providers with ignored child

🟢 test/provider_test.dart

🟢 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
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

🟢 test/proxy_provider_test.dart

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
ProxyProvider variants
  🟢 ProxyProvider2
  🟢 ProxyProvider3
  🟢 ProxyProvider4
  🟢 ProxyProvider5
  🟢 ProxyProvider6

🟢 test/reassemble_test.dart

🟢 ReassembleHandler
🟢 unevaluated create
🟢 unevaluated create

🟢 test/selector_test.dart

🟢 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

🟢 test/stateful_provider_test.dart

🟢 asserts
🟢 works with MultiProvider
🟢 calls create only once
🟢 dispose

🟢 test/stream_provider_test.dart

🟢 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
StreamProvider()
  🟢 create and dispose stream with builder
  🟢 crashes if builder is null

🔴 test/value_listenable_provider_test.dart

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
	The following TestFailure object was thrown running a test:
	  Expected: <2>
	  Actual: <1>
	Unexpected number of calls