test-reporter/__tests__/__outputs__/provider-test-results.md
2023-01-04 23:37:43 +00:00

18 KiB

Tests failed

Report Passed Failed Skipped Time
fixtures/external/flutter/provider-test-results.json 268 1 0ms

 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
  :white_check_mark: default
  :white_check_mark: .value
ListenableProvider
  :white_check_mark: default
  :white_check_mark: .value
Provider
  :white_check_mark: default
  :white_check_mark: .value
ProxyProvider
  :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
  :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

 test/change_notifier_provider_test.dart

:white_check_mark: Use builder property, not child
ChangeNotifierProvider
  :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

 test/consumer_test.dart

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

 test/context_test.dart

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

 test/future_provider_test.dart

: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()
  :white_check_mark: crashes if builder is null

 test/inherited_provider_test.dart

: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
  :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()
  :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()
  :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()
  :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()
  :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

 test/listenable_provider_test.dart

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

 test/listenable_proxy_provider_test.dart

ListenableProxyProvider
  :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
  :white_check_mark: ListenableProxyProvider
  :white_check_mark: ListenableProxyProvider2
  :white_check_mark: ListenableProxyProvider3
  :white_check_mark: ListenableProxyProvider4
  :white_check_mark: ListenableProxyProvider5
  :white_check_mark: ListenableProxyProvider6

 test/multi_provider_test.dart

MultiProvider
  :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

 test/provider_test.dart

:white_check_mark: works with MultiProvider
Provider.of
  :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
  :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

 test/proxy_provider_test.dart

ProxyProvider
  :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
  :white_check_mark: ProxyProvider2
  :white_check_mark: ProxyProvider3
  :white_check_mark: ProxyProvider4
  :white_check_mark: ProxyProvider5
  :white_check_mark: ProxyProvider6

 test/reassemble_test.dart

:white_check_mark: ReassembleHandler
:white_check_mark: unevaluated create
:white_check_mark: unevaluated create

 test/selector_test.dart

: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

 test/stateful_provider_test.dart

:white_check_mark: asserts
:white_check_mark: works with MultiProvider
:white_check_mark: calls create only once
:white_check_mark: dispose

 test/stream_provider_test.dart

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

 test/value_listenable_provider_test.dart

valueListenableProvider
  :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>
	Unexpected number of calls