19 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 |
|---|---|---|
| ✔️ | default | 189ms |
| ✔️ | .value | 10ms |
ListenableProvider
| Result | Test | Time |
|---|---|---|
| ✔️ | default | 9ms |
| ✔️ | .value | 16ms |
Provider
| Result | Test | Time |
|---|---|---|
| ✔️ | default | 11ms |
| ✔️ | .value | 8ms |
ProxyProvider
| Result | Test | Time |
|---|---|---|
| ✔️ | 0 | 11ms |
| ✔️ | 1 | 10ms |
| ✔️ | 2 | 8ms |
| ✔️ | 3 | 10ms |
| ✔️ | 4 | 9ms |
| ✔️ | 5 | 9ms |
| ✔️ | 6 | 9ms |
MultiProvider
| Result | Test | Time |
|---|---|---|
| ✔️ | with 1 ChangeNotifierProvider default | 9ms |
| ✔️ | with 2 ChangeNotifierProvider default | 9ms |
| ✔️ | with ListenableProvider default | 12ms |
| ✔️ | with Provider default | 8ms |
| ✔️ | with ProxyProvider0 | 7ms |
| ✔️ | with ProxyProvider1 | 9ms |
| ✔️ | with ProxyProvider2 | 7ms |
| ✔️ | with ProxyProvider3 | 9ms |
| ✔️ | with ProxyProvider4 | 9ms |
| ✔️ | with ProxyProvider5 | 7ms |
| ✔️ | 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 |
|---|---|---|
| ✔️ | value | 185ms |
| ✔️ | builder | 18ms |
| ✔️ | builder1 | 12ms |
| ✔️ | builder2 | 12ms |
| ✔️ | builder3 | 19ms |
| ✔️ | builder4 | 14ms |
| ✔️ | builder5 | 15ms |
| ✔️ | builder6 | 11ms |
| ✔️ | builder0 | 10ms |
test/consumer_test.dart ✔️
18 tests were completed in 340ms with 18 passed, 0 failed and 0 skipped.
consumer
| Result | Test | Time |
|---|---|---|
| ✔️ | obtains value from Provider | 181ms |
| ✔️ | crashed with no builder | 11ms |
| ✔️ | can be used inside MultiProvider | 16ms |
consumer2
| Result | Test | Time |
|---|---|---|
| ✔️ | obtains value from Provider | 22ms |
| ✔️ | crashed with no builder | 8ms |
| ✔️ | can be used inside MultiProvider | 9ms |
consumer3
| Result | Test | Time |
|---|---|---|
| ✔️ | obtains value from Provider | 9ms |
| ✔️ | crashed with no builder | 7ms |
| ✔️ | can be used inside MultiProvider | 8ms |
consumer4
| Result | Test | Time |
|---|---|---|
| ✔️ | obtains value from Provider | 8ms |
| ✔️ | crashed with no builder | 6ms |
| ✔️ | can be used inside MultiProvider | 8ms |
consumer5
| Result | Test | Time |
|---|---|---|
| ✔️ | obtains value from Provider | 8ms |
| ✔️ | crashed with no builder | 6ms |
| ✔️ | can be used inside MultiProvider | 9ms |
consumer6
| Result | Test | Time |
|---|---|---|
| ✔️ | obtains value from Provider | 8ms |
| ✔️ | crashed with no builder | 8ms |
| ✔️ | 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 |
|---|---|---|
| ✔️ | internal selected value is updated | 32ms |
| ✔️ | create can use read without being lazy | 11ms |
| ✔️ | watch can be used inside InheritedProvider.update | 10ms |
| ✔️ | select doesn't fail if it loads a provider that depends on other providers | 9ms |
| ✔️ | don't call old selectors if the child rebuilds individually | 21ms |
| ✔️ | selects throws inside click handlers | 40ms |
| ✔️ | select throws if try to read dynamic | 9ms |
| ✔️ | select throws ProviderNotFoundException | 9ms |
| ✔️ | select throws if watch called inside the callback from build | 6ms |
| ✔️ | select throws if read called inside the callback from build | 9ms |
| ✔️ | select throws if select called inside the callback from build | 8ms |
| ✔️ | select throws if read called inside the callback on dependency change | 10ms |
| ✔️ | select throws if watch called inside the callback on dependency change | 17ms |
| ✔️ | select throws if select called inside the callback on dependency change | 9ms |
| ✔️ | can call read inside didChangeDependencies | 9ms |
| ✔️ | select cannot be called inside didChangeDependencies | 6ms |
| ✔️ | select in initState throws | 6ms |
| ✔️ | watch in initState throws | 10ms |
| ✔️ | read in initState works | 6ms |
| ✔️ | consumer can be removed and selector stops to be called | 7ms |
| ✔️ | context.select deeply compares maps | 15ms |
| ✔️ | context.select deeply compares lists | 8ms |
| ✔️ | context.select deeply compares iterables | 8ms |
| ✔️ | context.select deeply compares sets | 11ms |
| ✔️ | 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 |
|---|---|---|
| ✔️ | 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 |
|---|---|---|
| ✔️ | InheritedProvider.value | 11ms |
| ✔️ | InheritedProvider doesn't break lazy loading | 7ms |
| ✔️ | InheritedProvider show if listening | 7ms |
| ✔️ | DeferredInheritedProvider.value | 6ms |
| ✔️ | DeferredInheritedProvider | 16ms |
InheritedProvider.value()
| Result | Test | Time |
|---|---|---|
| ✔️ | markNeedsNotifyDependents during startListening is noop | 8ms |
| ✔️ | startListening called again when create returns new value | 27ms |
| ✔️ | startListening | 19ms |
| ✔️ | stopListening not called twice if rebuild doesn't have listeners | 16ms |
| ✔️ | removeListener cannot be null | 22ms |
| ✔️ | pass down current value | 17ms |
| ✔️ | default updateShouldNotify | 8ms |
| ✔️ | custom updateShouldNotify | 32ms |
InheritedProvider()
| Result | Test | Time |
|---|---|---|
| ✔️ | hasValue | 16ms |
| ✔️ | provider calls update if rebuilding only due to didChangeDependencies | 9ms |
| ✔️ | provider notifying dependents doesn't call update | 11ms |
| ✔️ | update can call Provider.of with listen:true | 7ms |
| ✔️ | update lazy loaded can call Provider.of with listen:true | 10ms |
| ✔️ | markNeedsNotifyDependents during startListening is noop | 22ms |
| ✔️ | update can obtain parent of the same type than self | 15ms |
| ✔️ | _debugCheckInvalidValueType | 22ms |
| ✔️ | startListening | 18ms |
| ✔️ | startListening called again when create returns new value | 20ms |
| ✔️ | stopListening not called twice if rebuild doesn't have listeners | 18ms |
| ✔️ | removeListener cannot be null | 16ms |
| ✔️ | fails if initialValueBuilder calls inheritFromElement/inheritFromWiggetOfExactType | 17ms |
| ✔️ | builder is called on every rebuild and after a dependency change | 11ms |
| ✔️ | builder with no updateShouldNotify use == | 8ms |
| ✔️ | builder calls updateShouldNotify callback | 8ms |
| ✔️ | initialValue is transmitted to valueBuilder | 8ms |
| ✔️ | calls builder again if dependencies change | 22ms |
| ✔️ | exposes initialValue if valueBuilder is null | 20ms |
| ✔️ | call dispose on unmount | 22ms |
| ✔️ | builder unmount, dispose not called if value never read | 11ms |
| ✔️ | call dispose after new value | 9ms |
| ✔️ | valueBuilder works without initialBuilder | 11ms |
| ✔️ | calls initialValueBuilder lazily once | 7ms |
| ✔️ | throws if both builder and initialBuilder are missing | 5ms |
DeferredInheritedProvider.value()
| Result | Test | Time |
|---|---|---|
| ✔️ | hasValue | 6ms |
| ✔️ | startListening | 9ms |
| ✔️ | stopListening cannot be null | 9ms |
| ✔️ | startListening doesn't need setState if already initialized | 8ms |
| ✔️ | setState without updateShouldNotify | 8ms |
| ✔️ | setState with updateShouldNotify | 9ms |
| ✔️ | startListening never leave the widget uninitialized | 8ms |
| ✔️ | startListening called again on controller change | 10ms |
DeferredInheritedProvider()
| Result | Test | Time |
|---|---|---|
| ✔️ | create can't call inherited widgets | 7ms |
| ✔️ | creates the value lazily | 7ms |
| ✔️ | dispose | 7ms |
| ✔️ | 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 |
|---|---|---|
| ✔️ | works with MultiProvider | 173ms |
| ✔️ | asserts that the created notifier can have listeners | 12ms |
| ✔️ | don't listen again if listenable instance doesn't change | 12ms |
| ✔️ | works with null (default) | 7ms |
| ✔️ | works with null (create) | 7ms |
| ✔️ | stateful create called once | 11ms |
| ✔️ | dispose called on unmount | 13ms |
| ✔️ | dispose can be null | 8ms |
| ✔️ | changing listenable rebuilds descendants | 12ms |
| ✔️ | rebuilding with the same provider don't rebuilds descendants | 11ms |
| ✔️ | notifylistener rebuilds descendants | 9ms |
ListenableProvider value constructor
| Result | Test | Time |
|---|---|---|
| ✔️ | pass down key | 17ms |
| ✔️ | changing the Listenable instance rebuilds dependents | 29ms |
ListenableProvider stateful constructor
| Result | Test | Time |
|---|---|---|
| ✔️ | called with context | 8ms |
| ✔️ | pass down key | 20ms |
| ✔️ | 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 |
|---|---|---|
| ✔️ | throws if update is missing | 43ms |
| ✔️ | asserts that the created notifier has no listener | 177ms |
| ✔️ | asserts that the created notifier has no listener after rebuild | 18ms |
| ✔️ | rebuilds dependendents when listeners are called | 20ms |
| ✔️ | update returning a new Listenable disposes the previously created value and update dependents | 25ms |
| ✔️ | disposes of created value | 13ms |
ListenableProxyProvider variants
| Result | Test | Time |
|---|---|---|
| ✔️ | ListenableProxyProvider | 13ms |
| ✔️ | ListenableProxyProvider2 | 9ms |
| ✔️ | ListenableProxyProvider3 | 9ms |
| ✔️ | ListenableProxyProvider4 | 17ms |
| ✔️ | ListenableProxyProvider5 | 12ms |
| ✔️ | 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 |
|---|---|---|
| ✔️ | throw if providers is null | 30ms |
| ✔️ | MultiProvider children can only access parent providers | 160ms |
| ✔️ | 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 |
|---|---|---|
| ✔️ | throws if T is dynamic | 26ms |
| ✔️ | listen defaults to true when building widgets | 13ms |
| ✔️ | listen defaults to false outside of the widget tree | 9ms |
| ✔️ | listen:false doesn't trigger rebuild | 10ms |
| ✔️ | listen:true outside of the widget tree throws | 11ms |
Provider
| Result | Test | Time |
|---|---|---|
| ✔️ | throws if the provided value is a Listenable/Stream | 28ms |
| ✔️ | debugCheckInvalidValueType can be disabled | 9ms |
| ✔️ | simple usage | 9ms |
| ✔️ | throws an error if no provider found | 11ms |
| ✔️ | 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 |
|---|---|---|
| ✔️ | throws if the provided value is a Listenable/Stream | 209ms |
| ✔️ | debugCheckInvalidValueType can be disabled | 13ms |
| ✔️ | create creates initial value | 23ms |
| ✔️ | consume another providers | 18ms |
| ✔️ | rebuild descendants if value change | 13ms |
| ✔️ | call dispose when unmounted with the latest result | 11ms |
| ✔️ | don't rebuild descendants if value doesn't change | 12ms |
| ✔️ | pass down updateShouldNotify | 19ms |
| ✔️ | works with MultiProvider | 16ms |
| ✔️ | update callback can trigger descendants setState synchronously | 24ms |
| ✔️ | throws if update is null | 7ms |
ProxyProvider variants
| Result | Test | Time |
|---|---|---|
| ✔️ | ProxyProvider2 | 18ms |
| ✔️ | ProxyProvider3 | 16ms |
| ✔️ | ProxyProvider4 | 9ms |
| ✔️ | ProxyProvider5 | 20ms |
| ✔️ | 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 |
|---|---|---|
| ✔️ | create and dispose stream with builder | 11ms |
| ✔️ | 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 |
|---|---|---|
| ✔️ | rebuilds when value change | 200ms |
| ✔️ | don't rebuild dependents by default | 26ms |
| ✔️ | pass keys | 10ms |
| ✔️ | don't listen again if stream instance doesn't change | 22ms |
| ❌ | pass updateShouldNotify | 69ms |