22 KiB
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✔️ | 1.117s | ||
| 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 ✔️
24 tests were completed in 402ms with 24 passed, 0 failed and 0 skipped.
ChangeNotifierProvider
| Result | Test | Time |
|---|---|---|
| ✔️ | ChangeNotifierProvider default | 189ms |
| ✔️ | ChangeNotifierProvider .value | 10ms |
ListenableProvider
| Result | Test | Time |
|---|---|---|
| ✔️ | ListenableProvider default | 9ms |
| ✔️ | ListenableProvider .value | 16ms |
Provider
| Result | Test | Time |
|---|---|---|
| ✔️ | Provider default | 11ms |
| ✔️ | Provider .value | 8ms |
ProxyProvider
| Result | Test | Time |
|---|---|---|
| ✔️ | ProxyProvider 0 | 11ms |
| ✔️ | ProxyProvider 1 | 10ms |
| ✔️ | ProxyProvider 2 | 8ms |
| ✔️ | ProxyProvider 3 | 10ms |
| ✔️ | ProxyProvider 4 | 9ms |
| ✔️ | ProxyProvider 5 | 9ms |
| ✔️ | ProxyProvider 6 | 9ms |
MultiProvider
| Result | Test | Time |
|---|---|---|
| ✔️ | MultiProvider with 1 ChangeNotifierProvider default | 9ms |
| ✔️ | MultiProvider with 2 ChangeNotifierProvider default | 9ms |
| ✔️ | MultiProvider with ListenableProvider default | 12ms |
| ✔️ | MultiProvider with Provider default | 8ms |
| ✔️ | MultiProvider with ProxyProvider0 | 7ms |
| ✔️ | MultiProvider with ProxyProvider1 | 9ms |
| ✔️ | MultiProvider with ProxyProvider2 | 7ms |
| ✔️ | MultiProvider with ProxyProvider3 | 9ms |
| ✔️ | MultiProvider with ProxyProvider4 | 9ms |
| ✔️ | MultiProvider with ProxyProvider5 | 7ms |
| ✔️ | MultiProvider with ProxyProvider6 | 7ms |
test/change_notifier_provider_test.dart ✔️
10 tests were completed in 306ms with 10 passed, 0 failed and 0 skipped.
| Result | Test | Time |
|---|---|---|
| ✔️ | Use builder property, not child | 10ms |
ChangeNotifierProvider
| Result | Test | Time |
|---|---|---|
| ✔️ | ChangeNotifierProvider value | 185ms |
| ✔️ | ChangeNotifierProvider builder | 18ms |
| ✔️ | ChangeNotifierProvider builder1 | 12ms |
| ✔️ | ChangeNotifierProvider builder2 | 12ms |
| ✔️ | ChangeNotifierProvider builder3 | 19ms |
| ✔️ | ChangeNotifierProvider builder4 | 14ms |
| ✔️ | ChangeNotifierProvider builder5 | 15ms |
| ✔️ | ChangeNotifierProvider builder6 | 11ms |
| ✔️ | ChangeNotifierProvider builder0 | 10ms |
test/consumer_test.dart ✔️
18 tests were completed in 340ms with 18 passed, 0 failed and 0 skipped.
consumer
| Result | Test | Time |
|---|---|---|
| ✔️ | consumer obtains value from Provider | 181ms |
| ✔️ | consumer crashed with no builder | 11ms |
| ✔️ | consumer can be used inside MultiProvider | 16ms |
consumer2
| Result | Test | Time |
|---|---|---|
| ✔️ | consumer2 obtains value from Provider | 22ms |
| ✔️ | consumer2 crashed with no builder | 8ms |
| ✔️ | consumer2 can be used inside MultiProvider | 9ms |
consumer3
| Result | Test | Time |
|---|---|---|
| ✔️ | consumer3 obtains value from Provider | 9ms |
| ✔️ | consumer3 crashed with no builder | 7ms |
| ✔️ | consumer3 can be used inside MultiProvider | 8ms |
consumer4
| Result | Test | Time |
|---|---|---|
| ✔️ | consumer4 obtains value from Provider | 8ms |
| ✔️ | consumer4 crashed with no builder | 6ms |
| ✔️ | consumer4 can be used inside MultiProvider | 8ms |
consumer5
| Result | Test | Time |
|---|---|---|
| ✔️ | consumer5 obtains value from Provider | 8ms |
| ✔️ | consumer5 crashed with no builder | 6ms |
| ✔️ | consumer5 can be used inside MultiProvider | 9ms |
consumer6
| Result | Test | Time |
|---|---|---|
| ✔️ | consumer6 obtains value from Provider | 8ms |
| ✔️ | consumer6 crashed with no builder | 8ms |
| ✔️ | consumer6 can be used inside MultiProvider | 8ms |
test/context_test.dart ✔️
31 tests were completed in 698ms with 31 passed, 0 failed and 0 skipped.
| Result | Test | Time |
|---|---|---|
| ✔️ | watch in layoutbuilder | 179ms |
| ✔️ | select in layoutbuilder | 12ms |
| ✔️ | cannot select in listView | 138ms |
| ✔️ | watch in listView | 33ms |
| ✔️ | watch in gridView | 21ms |
| ✔️ | clears select dependencies for all dependents | 19ms |
BuildContext
| Result | Test | Time |
|---|---|---|
| ✔️ | BuildContext internal selected value is updated | 32ms |
| ✔️ | BuildContext create can use read without being lazy | 11ms |
| ✔️ | BuildContext watch can be used inside InheritedProvider.update | 10ms |
| ✔️ | BuildContext select doesn't fail if it loads a provider that depends on other providers | 9ms |
| ✔️ | BuildContext don't call old selectors if the child rebuilds individually | 21ms |
| ✔️ | BuildContext selects throws inside click handlers | 40ms |
| ✔️ | BuildContext select throws if try to read dynamic | 9ms |
| ✔️ | BuildContext select throws ProviderNotFoundException | 9ms |
| ✔️ | BuildContext select throws if watch called inside the callback from build | 6ms |
| ✔️ | BuildContext select throws if read called inside the callback from build | 9ms |
| ✔️ | BuildContext select throws if select called inside the callback from build | 8ms |
| ✔️ | BuildContext select throws if read called inside the callback on dependency change | 10ms |
| ✔️ | BuildContext select throws if watch called inside the callback on dependency change | 17ms |
| ✔️ | BuildContext select throws if select called inside the callback on dependency change | 9ms |
| ✔️ | BuildContext can call read inside didChangeDependencies | 9ms |
| ✔️ | BuildContext select cannot be called inside didChangeDependencies | 6ms |
| ✔️ | BuildContext select in initState throws | 6ms |
| ✔️ | BuildContext watch in initState throws | 10ms |
| ✔️ | BuildContext read in initState works | 6ms |
| ✔️ | BuildContext consumer can be removed and selector stops to be called | 7ms |
| ✔️ | BuildContext context.select deeply compares maps | 15ms |
| ✔️ | BuildContext context.select deeply compares lists | 8ms |
| ✔️ | BuildContext context.select deeply compares iterables | 8ms |
| ✔️ | BuildContext context.select deeply compares sets | 11ms |
| ✔️ | BuildContext context.watch listens to value changes | 10ms |
test/future_provider_test.dart ✔️
10 tests were completed in 305ms with 10 passed, 0 failed and 0 skipped.
| Result | Test | Time |
|---|---|---|
| ✔️ | works with MultiProvider | 184ms |
| ✔️ | (catchError) previous future completes after transition is no-op | 16ms |
| ✔️ | previous future completes after transition is no-op | 15ms |
| ✔️ | transition from future to future preserve state | 12ms |
| ✔️ | throws if future has error and catchError is missing | 24ms |
| ✔️ | calls catchError if present and future has error | 21ms |
| ✔️ | works with null | 14ms |
| ✔️ | create and dispose future with builder | 12ms |
| ✔️ | FutureProvider() crashes if builder is null | 4ms |
FutureProvider()
| Result | Test | Time |
|---|---|---|
| ✔️ | FutureProvider() crashes if builder is null | 3ms |
test/inherited_provider_test.dart ✔️
81 tests were completed in 1.117s with 81 passed, 0 failed and 0 skipped.
| Result | Test | Time |
|---|---|---|
| ✔️ | regression test #377 | 167ms |
| ✔️ | rebuild on dependency flags update | 15ms |
| ✔️ | properly update debug flags if a create triggers another deferred create | 9ms |
| ✔️ | properly update debug flags if a create triggers another deferred create | 8ms |
| ✔️ | properly update debug flags if an update triggers another create/update | 7ms |
| ✔️ | properly update debug flags if a create triggers another create/update | 8ms |
| ✔️ | Provider.of(listen: false) outside of build works when it loads a provider | 22ms |
| ✔️ | new value is available in didChangeDependencies | 26ms |
| ✔️ | builder receives the current value and updates independently from update |
16ms |
| ✔️ | builder can not rebuild when provider updates | 8ms |
| ✔️ | builder rebuilds if provider is recreated | 9ms |
| ✔️ | provider.of throws if listen:true outside of the widget tree | 23ms |
| ✔️ | InheritedProvider throws if no child is provided with default constructor | 14ms |
| ✔️ | InheritedProvider throws if no child is provided with value constructor | 8ms |
| ✔️ | DeferredInheritedProvider throws if no child is provided with default constructor | 15ms |
| ✔️ | DeferredInheritedProvider throws if no child is provided with value constructor | 7ms |
| ✔️ | startListening markNeedsNotifyDependents | 7ms |
| ✔️ | InheritedProvider can be subclassed | 8ms |
| ✔️ | DeferredInheritedProvider can be subclassed | 7ms |
| ✔️ | can be used with MultiProvider | 8ms |
| ✔️ | throw if the widget ctor changes | 8ms |
| ✔️ | InheritedProvider lazy loading can be disabled | 6ms |
| ✔️ | InheritedProvider.value lazy loading can be disabled | 9ms |
| ✔️ | InheritedProvider subclass don't have to specify default lazy value | 7ms |
| ✔️ | DeferredInheritedProvider lazy loading can be disabled | 7ms |
| ✔️ | DeferredInheritedProvider.value lazy loading can be disabled | 7ms |
| ✔️ | selector | 14ms |
| ✔️ | can select multiple types from same provider | 9ms |
| ✔️ | can select same type on two different providers | 8ms |
| ✔️ | can select same type twice on same provider | 10ms |
| ✔️ | Provider.of has a proper error message if context is null | 6ms |
diagnostics
| Result | Test | Time |
|---|---|---|
| ✔️ | diagnostics InheritedProvider.value | 11ms |
| ✔️ | diagnostics InheritedProvider doesn't break lazy loading | 7ms |
| ✔️ | diagnostics InheritedProvider show if listening | 7ms |
| ✔️ | diagnostics DeferredInheritedProvider.value | 6ms |
| ✔️ | diagnostics DeferredInheritedProvider | 16ms |
InheritedProvider.value()
| Result | Test | Time |
|---|---|---|
| ✔️ | InheritedProvider.value() markNeedsNotifyDependents during startListening is noop | 8ms |
| ✔️ | InheritedProvider.value() startListening called again when create returns new value | 27ms |
| ✔️ | InheritedProvider.value() startListening | 19ms |
| ✔️ | InheritedProvider.value() stopListening not called twice if rebuild doesn't have listeners | 16ms |
| ✔️ | InheritedProvider.value() removeListener cannot be null | 22ms |
| ✔️ | InheritedProvider.value() pass down current value | 17ms |
| ✔️ | InheritedProvider.value() default updateShouldNotify | 8ms |
| ✔️ | InheritedProvider.value() custom updateShouldNotify | 32ms |
InheritedProvider()
| Result | Test | Time |
|---|---|---|
| ✔️ | InheritedProvider() hasValue | 16ms |
| ✔️ | InheritedProvider() provider calls update if rebuilding only due to didChangeDependencies | 9ms |
| ✔️ | InheritedProvider() provider notifying dependents doesn't call update | 11ms |
| ✔️ | InheritedProvider() update can call Provider.of with listen:true | 7ms |
| ✔️ | InheritedProvider() update lazy loaded can call Provider.of with listen:true | 10ms |
| ✔️ | InheritedProvider() markNeedsNotifyDependents during startListening is noop | 22ms |
| ✔️ | InheritedProvider() update can obtain parent of the same type than self | 15ms |
| ✔️ | InheritedProvider() _debugCheckInvalidValueType | 22ms |
| ✔️ | InheritedProvider() startListening | 18ms |
| ✔️ | InheritedProvider() startListening called again when create returns new value | 20ms |
| ✔️ | InheritedProvider() stopListening not called twice if rebuild doesn't have listeners | 18ms |
| ✔️ | InheritedProvider() removeListener cannot be null | 16ms |
| ✔️ | InheritedProvider() fails if initialValueBuilder calls inheritFromElement/inheritFromWiggetOfExactType | 17ms |
| ✔️ | InheritedProvider() builder is called on every rebuild and after a dependency change | 11ms |
| ✔️ | InheritedProvider() builder with no updateShouldNotify use == | 8ms |
| ✔️ | InheritedProvider() builder calls updateShouldNotify callback | 8ms |
| ✔️ | InheritedProvider() initialValue is transmitted to valueBuilder | 8ms |
| ✔️ | InheritedProvider() calls builder again if dependencies change | 22ms |
| ✔️ | InheritedProvider() exposes initialValue if valueBuilder is null | 20ms |
| ✔️ | InheritedProvider() call dispose on unmount | 22ms |
| ✔️ | InheritedProvider() builder unmount, dispose not called if value never read | 11ms |
| ✔️ | InheritedProvider() call dispose after new value | 9ms |
| ✔️ | InheritedProvider() valueBuilder works without initialBuilder | 11ms |
| ✔️ | InheritedProvider() calls initialValueBuilder lazily once | 7ms |
| ✔️ | InheritedProvider() throws if both builder and initialBuilder are missing | 5ms |
DeferredInheritedProvider.value()
| Result | Test | Time |
|---|---|---|
| ✔️ | DeferredInheritedProvider.value() hasValue | 6ms |
| ✔️ | DeferredInheritedProvider.value() startListening | 9ms |
| ✔️ | DeferredInheritedProvider.value() stopListening cannot be null | 9ms |
| ✔️ | DeferredInheritedProvider.value() startListening doesn't need setState if already initialized | 8ms |
| ✔️ | DeferredInheritedProvider.value() setState without updateShouldNotify | 8ms |
| ✔️ | DeferredInheritedProvider.value() setState with updateShouldNotify | 9ms |
| ✔️ | DeferredInheritedProvider.value() startListening never leave the widget uninitialized | 8ms |
| ✔️ | DeferredInheritedProvider.value() startListening called again on controller change | 10ms |
DeferredInheritedProvider()
| Result | Test | Time |
|---|---|---|
| ✔️ | DeferredInheritedProvider() create can't call inherited widgets | 7ms |
| ✔️ | DeferredInheritedProvider() creates the value lazily | 7ms |
| ✔️ | DeferredInheritedProvider() dispose | 7ms |
| ✔️ | DeferredInheritedProvider() dispose no-op if never built | 7ms |
test/listenable_provider_test.dart ✔️
16 tests were completed in 353ms with 16 passed, 0 failed and 0 skipped.
ListenableProvider
| Result | Test | Time |
|---|---|---|
| ✔️ | ListenableProvider works with MultiProvider | 173ms |
| ✔️ | ListenableProvider asserts that the created notifier can have listeners | 12ms |
| ✔️ | ListenableProvider don't listen again if listenable instance doesn't change | 12ms |
| ✔️ | ListenableProvider works with null (default) | 7ms |
| ✔️ | ListenableProvider works with null (create) | 7ms |
| ✔️ | ListenableProvider stateful create called once | 11ms |
| ✔️ | ListenableProvider dispose called on unmount | 13ms |
| ✔️ | ListenableProvider dispose can be null | 8ms |
| ✔️ | ListenableProvider changing listenable rebuilds descendants | 12ms |
| ✔️ | ListenableProvider rebuilding with the same provider don't rebuilds descendants | 11ms |
| ✔️ | ListenableProvider notifylistener rebuilds descendants | 9ms |
ListenableProvider value constructor
| Result | Test | Time |
|---|---|---|
| ✔️ | ListenableProvider value constructor pass down key | 17ms |
| ✔️ | ListenableProvider value constructor changing the Listenable instance rebuilds dependents | 29ms |
ListenableProvider stateful constructor
| Result | Test | Time |
|---|---|---|
| ✔️ | ListenableProvider stateful constructor called with context | 8ms |
| ✔️ | ListenableProvider stateful constructor pass down key | 20ms |
| ✔️ | ListenableProvider stateful constructor throws if create is null | 4ms |
test/listenable_proxy_provider_test.dart ✔️
12 tests were completed in 373ms with 12 passed, 0 failed and 0 skipped.
ListenableProxyProvider
| Result | Test | Time |
|---|---|---|
| ✔️ | ListenableProxyProvider throws if update is missing | 43ms |
| ✔️ | ListenableProxyProvider asserts that the created notifier has no listener | 177ms |
| ✔️ | ListenableProxyProvider asserts that the created notifier has no listener after rebuild | 18ms |
| ✔️ | ListenableProxyProvider rebuilds dependendents when listeners are called | 20ms |
| ✔️ | ListenableProxyProvider update returning a new Listenable disposes the previously created value and update dependents | 25ms |
| ✔️ | ListenableProxyProvider disposes of created value | 13ms |
ListenableProxyProvider variants
| Result | Test | Time |
|---|---|---|
| ✔️ | ListenableProxyProvider variants ListenableProxyProvider | 13ms |
| ✔️ | ListenableProxyProvider variants ListenableProxyProvider2 | 9ms |
| ✔️ | ListenableProxyProvider variants ListenableProxyProvider3 | 9ms |
| ✔️ | ListenableProxyProvider variants ListenableProxyProvider4 | 17ms |
| ✔️ | ListenableProxyProvider variants ListenableProxyProvider5 | 12ms |
| ✔️ | ListenableProxyProvider variants ListenableProxyProvider6 | 17ms |
test/multi_provider_test.dart ✔️
3 tests were completed in 198ms with 3 passed, 0 failed and 0 skipped.
MultiProvider
| Result | Test | Time |
|---|---|---|
| ✔️ | MultiProvider throw if providers is null | 30ms |
| ✔️ | MultiProvider MultiProvider children can only access parent providers | 160ms |
| ✔️ | MultiProvider MultiProvider.providers with ignored child | 8ms |
test/provider_test.dart ✔️
11 tests were completed in 306ms with 11 passed, 0 failed and 0 skipped.
| Result | Test | Time |
|---|---|---|
| ✔️ | works with MultiProvider | 172ms |
Provider.of
| Result | Test | Time |
|---|---|---|
| ✔️ | Provider.of throws if T is dynamic | 26ms |
| ✔️ | Provider.of listen defaults to true when building widgets | 13ms |
| ✔️ | Provider.of listen defaults to false outside of the widget tree | 9ms |
| ✔️ | Provider.of listen:false doesn't trigger rebuild | 10ms |
| ✔️ | Provider.of listen:true outside of the widget tree throws | 11ms |
Provider
| Result | Test | Time |
|---|---|---|
| ✔️ | Provider throws if the provided value is a Listenable/Stream | 28ms |
| ✔️ | Provider debugCheckInvalidValueType can be disabled | 9ms |
| ✔️ | Provider simple usage | 9ms |
| ✔️ | Provider throws an error if no provider found | 11ms |
| ✔️ | Provider update should notify | 8ms |
test/proxy_provider_test.dart ✔️
16 tests were completed in 438ms with 16 passed, 0 failed and 0 skipped.
ProxyProvider
| Result | Test | Time |
|---|---|---|
| ✔️ | ProxyProvider throws if the provided value is a Listenable/Stream | 209ms |
| ✔️ | ProxyProvider debugCheckInvalidValueType can be disabled | 13ms |
| ✔️ | ProxyProvider create creates initial value | 23ms |
| ✔️ | ProxyProvider consume another providers | 18ms |
| ✔️ | ProxyProvider rebuild descendants if value change | 13ms |
| ✔️ | ProxyProvider call dispose when unmounted with the latest result | 11ms |
| ✔️ | ProxyProvider don't rebuild descendants if value doesn't change | 12ms |
| ✔️ | ProxyProvider pass down updateShouldNotify | 19ms |
| ✔️ | ProxyProvider works with MultiProvider | 16ms |
| ✔️ | ProxyProvider update callback can trigger descendants setState synchronously | 24ms |
| ✔️ | ProxyProvider throws if update is null | 7ms |
ProxyProvider variants
| Result | Test | Time |
|---|---|---|
| ✔️ | ProxyProvider variants ProxyProvider2 | 18ms |
| ✔️ | ProxyProvider variants ProxyProvider3 | 16ms |
| ✔️ | ProxyProvider variants ProxyProvider4 | 9ms |
| ✔️ | ProxyProvider variants ProxyProvider5 | 20ms |
| ✔️ | ProxyProvider variants ProxyProvider6 | 10ms |
test/reassemble_test.dart ✔️
3 tests were completed in 221ms with 3 passed, 0 failed and 0 skipped.
| Result | Test | Time |
|---|---|---|
| ✔️ | ReassembleHandler | 194ms |
| ✔️ | unevaluated create | 11ms |
| ✔️ | unevaluated create | 16ms |
test/selector_test.dart ✔️
17 tests were completed in 364ms with 17 passed, 0 failed and 0 skipped.
| Result | Test | Time |
|---|---|---|
| ✔️ | asserts that builder/selector are not null | 32ms |
| ✔️ | Deep compare maps by default | 158ms |
| ✔️ | Deep compare iterables by default | 9ms |
| ✔️ | Deep compare sets by default | 12ms |
| ✔️ | Deep compare lists by default | 14ms |
| ✔️ | custom shouldRebuid | 11ms |
| ✔️ | passes child and key |
13ms |
| ✔️ | calls builder if the callback changes | 14ms |
| ✔️ | works with MultiProvider | 12ms |
| ✔️ | don't call builder again if it rebuilds but selector returns the same thing | 9ms |
| ✔️ | call builder again if it rebuilds abd selector returns the a different variable | 9ms |
| ✔️ | Selector | 15ms |
| ✔️ | Selector2 | 9ms |
| ✔️ | Selector3 | 8ms |
| ✔️ | Selector4 | 9ms |
| ✔️ | Selector5 | 19ms |
| ✔️ | Selector6 | 11ms |
test/stateful_provider_test.dart ✔️
4 tests were completed in 254ms with 4 passed, 0 failed and 0 skipped.
| Result | Test | Time |
|---|---|---|
| ✔️ | asserts | 6ms |
| ✔️ | works with MultiProvider | 203ms |
| ✔️ | calls create only once | 27ms |
| ✔️ | dispose | 18ms |
test/stream_provider_test.dart ✔️
8 tests were completed in 282ms with 8 passed, 0 failed and 0 skipped.
| Result | Test | Time |
|---|---|---|
| ✔️ | works with MultiProvider | 191ms |
| ✔️ | transition from stream to stream preserve state | 16ms |
| ✔️ | throws if stream has error and catchError is missing | 22ms |
| ✔️ | calls catchError if present and stream has error | 20ms |
| ✔️ | works with null | 13ms |
| ✔️ | StreamProvider() crashes if builder is null | 5ms |
StreamProvider()
| Result | Test | Time |
|---|---|---|
| ✔️ | StreamProvider() create and dispose stream with builder | 11ms |
| ✔️ | StreamProvider() crashes if builder is null | 4ms |
test/value_listenable_provider_test.dart ❌
5 tests were completed in 327ms with 4 passed, 1 failed and 0 skipped.
valueListenableProvider
| Result | Test | Time |
|---|---|---|
| ✔️ | valueListenableProvider rebuilds when value change | 200ms |
| ✔️ | valueListenableProvider don't rebuild dependents by default | 26ms |
| ✔️ | valueListenableProvider pass keys | 10ms |
| ✔️ | valueListenableProvider don't listen again if stream instance doesn't change | 22ms |
| ❌ | valueListenableProvider pass updateShouldNotify | 69ms |