317 Commits

Author SHA1 Message Date
Todd Volkert
835c7fab45
Fix FocusManager constructor (#75894)
The FocusManager constructor was registering global event handlers
on the shared RawKeyboard instance and the global pointer router.
This posed a few problems: (1) there was no way to unregister these
handlers, and (2) instantiating a second FocusManager would overwrite
the existing focus manager's RawKeyboard handler. This was manifesting
in unexpected ways, such as the fact that constructing a second
BuildOwner (for a parallel tree, for instance) was obliterating the
event handler for the main BuildOwner's focus manager, thus messing
with focus.

This change separates those global event registrations into a
dedicated method, registerGlobalHandlers(), and overrides dispose()
to properly unregister those handlers.
2021-02-12 17:19:20 -08:00
Ian Hickson
824042f9b2
Catch cases in tests where people try to tap on widgets that aren't reachable. (#74798) 2021-02-03 16:11:02 -08:00
Ian Hickson
37a0189773
Don't leak exceptions thrown by message channels (#74446) 2021-01-27 11:19:04 -08:00
Jia Hao
8a5ace25a5
Improve performance of Widget Tests (#70730) 2021-01-12 17:29:03 -08:00
Michael Goderbauer
cca1215939
Properly initialize RestorationManager in the TestBinding (#70398) 2020-11-12 13:59:05 -08:00
Greg Spencer
86f9ab511e
Revert usages of the binding's platformDispatcher to use window instead (#70319)
This reverts usages of the binding's platformDispatcher to use window again temporarily, because there isn't a TestPlatformDispatcher yet, and so some tests were failing because they mocked the TestWindow to return certain things (locales) that were returning the real values instead of the test values.

Once I've created a TestPlatformDispatcher to allow fake data to be passed to it, we can go back to using the platformDispatcher in all of these places
2020-11-12 11:17:00 -08:00
Greg Spencer
bbc0161669
Remove references to Window, and switch usages to PlatformDispatcher or SingletonFlutterWindow (#69617)
* Remove references to dart:ui.Window, and point usages to PlatformDispatcher or SingletonFlutterWindow, as appropriate

* remove new test platform dispatchers

* Amend documentation
2020-11-09 15:26:29 -08:00
Greg Spencer
88809aa247
Standardize dartdoc macro names (#69445) 2020-11-02 13:28:05 -08:00
Michael Goderbauer
42f3709a5a
Sound null safety for framework and flutter_test (#68642) 2020-10-21 10:09:11 -07:00
Alexandre Ardhuin
0d8d4f77aa
unnecessary null comparison (#67525) 2020-10-08 09:26:30 +02:00
Michael Goderbauer
8998167d0f
Make FlutterErrorDetails.exception non-nullable as documented (#67364) 2020-10-05 18:07:02 -07:00
Michael Goderbauer
19e07d2beb
Migrate flutter_test (#66663) 2020-09-30 17:03:40 -07:00
Alexandre Ardhuin
c2e43403af
apply upcoming lint cast_nullable_to_non_nullable (#66455)
* apply upcoming lint cast_nullable_to_non_nullable

* make RenderObjectElement.renderObject non-nullable
2020-09-27 21:29:42 +02:00
Tong Mu
a48e14308e
Expose GestureBinding.handlePointerEvent, replacing dispatchEvent as the preferred way to dispatch events (#64846) 2020-09-15 22:17:06 -07:00
Yuqian Li
e1eddb401d
Revert the revert (#65602) 2020-09-11 16:20:03 -07:00
Ming Lyu (CareF)
28de49e358
Revert "Reland #61998 and update complex_layout ios files (#64885)" (#64990)
This reverts commit df83398687b63762c742e35fbb608d16fee50a7a.
2020-08-31 18:47:08 -07:00
Ming Lyu (CareF)
df83398687
Reland #61998 and update complex_layout ios files (#64885) 2020-08-31 17:23:06 -07:00
Shi-Hao Hong
34541c3073
Revert "A benchmark test case for measuring scroll smoothness (#61998)" (#64883)
This reverts commit 12b7355da11f4a1401492b16677f6e90ce0118b8.
2020-08-30 18:42:10 +08:00
Ming Lyu (CareF)
12b7355da1
A benchmark test case for measuring scroll smoothness (#61998) 2020-08-29 04:28:03 -07:00
Michael Goderbauer
e5ca020d66
Make dartdoc warnings fatal for flutter_test (#62614) 2020-08-03 10:46:04 -07:00
Ming Lyu (CareF)
87dbfa8330
Update framePolicy docs (#61773) 2020-07-30 12:11:03 -07:00
Michael Goderbauer
f4e10b4fb5
Make dartdoc warnings fatal (& cleanup of warnings) (#62367) 2020-07-28 16:11:04 -07:00
Michael Goderbauer
175e5c9aca
Restoration Framework (#60375)
* state restoration

* added example

* typos and analyzer

* whitespace

* more typos

* remove unnecessary import

* whitespace

* fix sample code

* tests for restorationmanager and restorationid

* ++

* typo

* tests for bucket, part1

* rename tests

* more tests

* finished tests for service layer

* remove wrong todo

* ++

* review comments

* tests for Unmanaged and regular scope

* RootRestorationScope tests

* typo

* whitespace

* testing framework

* tests for properties

* last set of tests

* analyzer

* typo

* dan review

* whitespace

* ++

* refactor finalizers

* ++

* ++

* dispose guard

* ++

* ++

* dan review

* add manager assert

* ++

* analyzer

* greg review

* fix typo

* Ian & John review

* ian review

* RestorationID -> String

* revert comment

* Make primitives non-nullable in prep for NNBD
2020-07-28 10:16:36 -07:00
Ming Lyu (CareF)
3e7fe378e3
Reland "LiveTestWidgetsFlutterBinding support for non-touch event" (#61901) 2020-07-21 02:36:03 -07:00
Ming Lyu (CareF)
f98a00c750
Revert "LiveTestWidgetsFlutterBinding support for non-touch event (#61872)" (#61900)
This reverts commit aa4b4d35e1187483fec4ec71fc278e724257cd77.
2020-07-20 17:20:30 -04:00
Ming Lyu (CareF)
aa4b4d35e1
LiveTestWidgetsFlutterBinding support for non-touch event (#61872) 2020-07-20 17:02:59 -04:00
Ming Lyu (CareF)
54c9441723
benchmarkLive: a new LiveTestWidgetsFlutterBindingFramePolicy for benchmark on device (#61388)
* add benchmarkLive flag and tests

* update handlePointerEventRecord doc

* using e2e 0.6.1
2020-07-17 18:56:12 -04:00
Ming Lyu (CareF)
a76b5eb79f
Add support in WidgetTester for an array of inputs (#60796)
* Add input event array support

* Add a tap test

* remove unused import

* remove extra assert
2020-07-10 17:03:12 -04:00
Ming Lyu (CareF)
a5fa083906
Add comment explain dispatchEvent override (#60734) 2020-07-08 18:37:33 -04:00
Ming Lyu (CareF)
78bb587c70
respect line wrapping style guide (#61118) 2020-07-08 16:44:59 -04:00
Ming Lyu (CareF)
61477b5949
Fix PointerAddedEvent handling in LiveTestWidgetsFlutterBinding (#61102)
* Fix PointerAddedEvent handling in tester
2020-07-08 13:28:51 -04:00
Dan Field
fb57edcc80
Revert "Revert "Fix remaining holes in stack trace demangling (#60478)" (#60916)" (#60996)
This reverts commit 2c7e5dd93548d84dad61bf2de171cdb89fa3efc6.
2020-07-07 15:30:32 -07:00
Mehmet Fidanboylu
8c67781f36
Comments around hanging tests via runAsync. (#60136) 2020-07-07 09:14:02 -07:00
Dan Field
2c7e5dd935
Revert "Fix remaining holes in stack trace demangling (#60478)" (#60916)
This reverts commit d986fdc31afb4fc3236d8333e11f58ba2b078fea.
2020-07-06 10:07:36 -07:00
Andre
d986fdc31a
Fix remaining holes in stack trace demangling (#60478)
* Implement stack trace demangling in the framework.
2020-07-06 08:11:03 -07:00
Pierre-Louis
0bc4368233
Typo sweep (#60693) 2020-07-02 13:08:02 -07:00
Dan Field
868c4d8ce0
Fix issue with stack traces getting mangled (#59900) 2020-06-23 15:29:57 -07:00
Dan Field
68b131f313
[e2e] make test bindings friendlier to integration tests (#58210) 2020-05-29 11:50:12 -07:00
Dan Field
02b1080101
Functionality to check handlers set on platform channels (#57696) 2020-05-21 14:52:05 -07:00
cg021
1cfd792a38
remove pending timers list code out of assert message (#57287)
* move pending timers list code out of assert

* style change

Co-authored-by: Emmanuel Garcia <egarciad@google.com>

* add unit tests

* formatting

* pending timer test

* pending timer assertion test

* add setup and teardown

Co-authored-by: Emmanuel Garcia <egarciad@google.com>
2020-05-18 18:18:16 -05:00
chunhtai
d482163f59
Revert "Fix FlutterError.onError in debug mode (#53843)" (#55484)
This reverts commit d35671c6d10b2aa7cf7f8e5c022fd8eea902cf44.
2020-04-23 11:57:18 -07:00
chunhtai
d35671c6d1
Fix FlutterError.onError in debug mode (#53843)
* Fix FlutterError.onError in debug mode

* update

* fix comments

* add license header

* fix analyzer

* update

* another attempt

* fix test

* fix comment
2020-04-22 17:17:42 -07:00
Jacob MacDonald
6399be62d2
remove flutter_test quiver dep, use fake_async and clock instead (#54125)
## Description

Removes the `flutter_test` dependency on `quiver`, instead using the more targeted `clock` and `fake_async` packages.

## Related Issues

https://github.com/flutter/flutter/issues/53908

## Tests

No changes to tests

## Checklist

Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes (`[x]`). This will ensure a smooth and quick review process.

- [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
- [x] I signed the [CLA].
- [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
- [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] All existing and new tests are passing.
- [x] The analyzer (`flutter analyze --flutter-repo`) does not report any problems on my PR.
- [x] I am willing to follow-up on review comments in a timely manner.

## Breaking Change

Did any tests fail when you ran them? Please read [Handling breaking changes].

- [ ] No, no existing tests failed, so this is *not* a breaking change.
- [x] Yes, this is a breaking change. *If not, delete the remainder of this section.*
   - [x] I wrote a design doc: https://docs.google.com/document/d/1EkkLbECNBwHgddBQAZqEy7iQLTIxR1rgChKzxcLwhio/edit
   - [x] I got input from the developer relations team, specifically from: @RedBrogdon
   - [x] I wrote a migration guide:  https://github.com/flutter/website/pull/3932

<!-- Links -->
[issue database]: https://github.com/flutter/flutter/issues
[Contributor Guide]: https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Test Coverage]: https://github.com/flutter/flutter/wiki/Test-coverage-for-package%3Aflutter
[Flutter Style Guide]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[Features we expect every widget to implement]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[Handling breaking changes]: https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
2020-04-15 12:10:26 -07:00
Michael Goderbauer
d47ad7ec0d
Reverse dependency between services and scheduler (#54212) 2020-04-08 09:12:03 -07:00
Yegor
5ea13b8493
fix KeySet.hashCode; enable multiple web tests (#52861)
fix KeySet.hashCode; enable multiple web tests
2020-03-20 08:49:19 -07:00
Dan Field
b2a27c109c
Be clearer about when and why we override HttpClient in tests (#49844) 2020-01-31 09:22:30 -08:00
Alexandre Ardhuin
4f9b6cf017
enable lint prefer_final_in_for_each (#47724) 2020-01-07 16:32:04 +01:00
Michael Goderbauer
1ac17c14fc Re-land "Add option to delay rendering the first frame (#45135)" (#45941) 2019-12-03 19:48:01 -08:00
Kate Lovett
cd052a56cb
Revert "Re-land "Add option to delay rendering the first frame (#45135)" (#45588)" (#45939)
This reverts commit c59151b1cdb70c77368c04aaed39ca4791cad539.
2019-12-02 15:08:35 -08:00
Michael Goderbauer
c59151b1cd Re-land "Add option to delay rendering the first frame (#45135)" (#45588) 2019-12-02 13:33:45 -08:00