Commit Graph

651 Commits

Author SHA1 Message Date
Dan Field
12f54e17f4
reland List queue search optimization (#68214)
* Revert "Revert "Improve performance of collectAllElements (#68065)" (#68207)"

This reverts commit 46ff57d6f1.

* use fewer elements for benchmark
2020-10-15 13:46:50 -07:00
Jonah Williams
46ff57d6f1
Revert "Improve performance of collectAllElements (#68065)" (#68207)
This reverts commit 8ba5732c4c.
2020-10-15 08:04:59 -07:00
Dan Field
8ba5732c4c
Improve performance of collectAllElements (#68065) 2020-10-14 21:32:04 -07:00
Jonah Williams
bdfb07dffd
[flutter_test] export fake from flutter_test (#68032)
Fake has been moved from mockito to test to facilitate NNBD, re-export this from flutter_test
2020-10-13 11:38:00 -07:00
Alexandre Ardhuin
4acc790252
enable lint cast_nullable_to_non_nullable (#67629) 2020-10-08 21:05:43 +02:00
Alexandre Ardhuin
0d8d4f77aa
unnecessary null comparison (#67525) 2020-10-08 09:26:30 +02:00
Alexandre Ardhuin
f551178408
migrate material to nullsafety (#67166)
* migrate material to nullsafety

* address review comments

* address review comments

* fix build
2020-10-06 11:36:50 +02:00
Michael Goderbauer
8998167d0f
Make FlutterErrorDetails.exception non-nullable as documented (#67364) 2020-10-05 18:07:02 -07:00
Ming Lyu (CareF)
277a72e3fe
move resampler to handlePointerEvent and fix complex_layout_android__scroll_smoothness with PointerEvent (#66745) 2020-10-05 17:17:03 -07:00
Tong Mu
2cdf2f0059
Treat hover events as normal pointer events, and bring them back to Listener (#63834) 2020-10-05 12:12:04 -07:00
Dan Field
2cdec25877
Reland dispose images when done (#67100) (#67177)
* Reland dispose images when done (#67100)

Changes since last time:

- Test for CanvasKit image rendering
  (https://github.com/flutter/flutter/pull/67176)
- Fix CanvasKit dispose impl
  (https://github.com/flutter/engine/pull/21555)
- Update internal google3 customer with a problematic ImageStream
  Listener impl (cl/335091311, cl/335459002)

This reverts commit 473358d93d.
2020-10-05 12:03:27 -07:00
Dan Field
473358d93d
Revert dispose images when done (#67100)
* Revert "docs for image disposal (#67066)"

This reverts commit bcb2ac5a55.

* Revert "Dispose of images after using them (#66688)"

This reverts commit a7954691da.
2020-10-01 16:53:50 -07:00
Kate Lovett
d1178ae73b
Fix local gold output for flutter/flutter (#66139) 2020-10-01 11:17:03 -07:00
Dan Field
a7954691da
Dispose of images after using them (#66688)
* Dispose of images after using them
Adds ImageInfo.clone, ImageInfo.dispose, and ImageInfo.isCloneOf.
Makes all stateful holders of ui.Image objects properly clone and dispose of them.
Behavior change for ImageStreamCompleter: Removing the last listener after registering at least one listener results in the object being disposed, and new listeners cannot be added, unless a keepAlive handle is created.
Makes all non-stateful holders of ui.Image (i.e. paintImage and RawImage) assert that whoever gave the image to them has not disposed it on them.
2020-10-01 09:48:54 -07:00
Michael Goderbauer
19e07d2beb
Migrate flutter_test (#66663) 2020-09-30 17:03:40 -07:00
Mehmet Fidanboylu
95d72bf9d8
Clarify the docs on what scrollUntilVisible does (#65817) 2020-09-30 14:58:13 -07:00
Ming Lyu (CareF)
3c321ac80f
cleanup (#66743) 2020-09-29 15:32:03 -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
Dan Field
7eb8447485
Allow new methods to be added to ui.Image for tests (#65876)
Remove fake image implementations, add createTestImage to flutter_test
2020-09-22 11:55:39 -07:00
Mouad Debbar
5024e1ea02
[web] Inform the engine when read-only flag is flipped (#65499) 2020-09-17 15:52:04 -07:00
Christian Mürtz
1415078828
Find text containing in tests (#65072) 2020-09-16 16:32:03 -07:00
Michael R Fairhurst
7f3c9b6bda
Remove unused 'dart:async' imports. (#65568) 2020-09-16 14:14:06 -07: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
Greg Spencer
199a7c1964
Fix the character field of the RawKeyEvent to hold correct data on non-Android platforms. (#65667)
This fixes a problem where the character field of the RawKeyEvent was not being set at all for non-Android platforms.

I also updated the key maps, and corrected a problem with the Windows key map where the backquote character wasn't correctly mapped.
2020-09-15 13:02:16 -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 df83398687.
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 12b7355da1.
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
Ian Hickson
8a6a76a334
migrate rendering to nullsafety (#64621) 2020-08-27 16:38:10 -07:00
Jonah Williams
41e553bbfc
[flutter_tools] migrate flutter_goldens, flutter_goldens client to null-safety (#64201) 2020-08-24 15:31:05 -07:00
Greg Spencer
041a3eaa84
Standardize the nullability of arguments to raw key data constructors. (#63523)
This standardizes the handling of nullability for the LogicalKeyboardKey.keyLabel and RawKeyEventData.keyLabel accessors so that they are non-nullable, but can be empty.

Before this change, the keyLabel could be either null or an empty string to indicate that there wasn't a label, which makes it harder to test for, since both need to be checked for. Since an empty string is sufficient, there is no need for it to be nullable.

Also, in raw_keyboard.dart, the web and Windows implementations wouldn't accept null values for parameters in the Map coming from the message, but tests were supplying null for some of them. This makes web and Windows creation of events match the other platforms, and makes the migration of tests to non-nullability easier.
2020-08-19 15:03:17 -07:00
Greg Spencer
d1eff0b413
Hook up soft keyboard "next" and "previous" buttons so that they move the focus by default (#63592)
Focus will be moved automatically if onEditingComplete is not specified, but must
by moved manually if onEditingComplete is specified.
2020-08-18 16:46:58 -07:00
Ming Lyu (CareF)
2c716c4d49
add vsync overhead to FrameTimingSummarizer (#63835) 2020-08-17 16:51:04 -07:00
Ming Lyu (CareF)
04759e8559
doc typo spelling fix (#63817) 2020-08-17 12:21:08 -07:00
Jonah Williams
08254b2156
Revert "Remove TODOs added for HTTP abort() change in dart sdk (#63924)" (#63972)
This reverts commit b1c17313f6.
2020-08-17 10:25:01 -07:00
zichangg
b1c17313f6
Remove TODOs added for HTTP abort() change in dart sdk (#63924) 2020-08-17 09:46:08 -07:00
Ming Lyu (CareF)
c2368bdd6f
bug fix for pointer id in test gestures (#63816) 2020-08-15 10:41:02 -07:00
Konstantin Scheglov
236507f058
Provide the argument for a required parameter 'data'. (#63728) 2020-08-14 16:46:03 -07:00
Michael Goderbauer
39a46bedad
Remove decommission from RestorationBuckets (#63687) 2020-08-13 15:01:04 -07:00
Nils Reichardt
337c5cfc52
Update finders.dart (#63600) 2020-08-13 11:30:34 -07:00
Ming Lyu (CareF)
0629030a05
WidgetTester.drag with time duration (#63410) 2020-08-12 21:01:03 -07:00
Jonah Williams
04bc6123a9
[null-safety] update to several framework test cases/APIs for null assertions (#62946) 2020-08-12 13:41:09 -07:00
LongCatIsLooong
cea055ef00
Make Scrollable's free scroll initial velocity matches that of iOS (#60501) 2020-08-12 13:31:05 -07:00
Ming Lyu (CareF)
b09dee59bf
add FrameTimingSummarizer (#63434) 2020-08-11 06:21:04 -07:00
Ming Lyu (CareF)
2965d81ae9
update for WidgetTester.move and WidgetTester.fling doc (#63390) 2020-08-10 21:21:03 -07:00
Panmari
9542a47e44
Fixing code snippet example for meetsGuideline. (#63273) 2020-08-10 21:11:04 -07:00
Ian Hickson
522d19e2ad
Unskip the bidi semantics test. (#62823) 2020-08-05 19:21:11 -07:00
Ming Lyu (CareF)
8081455394
revert widgettester breaking change (#62914) 2020-08-04 17:26:05 -07:00
Jonah Williams
428be90768
[null-safety] revert export of Fake from test_api (#62894) 2020-08-04 14:31:05 -07:00
Ming Lyu (CareF)
a36b0ba4f6
promote WidgetTester pumpAndSettle (#62640) 2020-08-04 08:31:08 -07:00
Ming Lyu (CareF)
e03980ec47
separate scroll until visible implementation for lower level accessibility (#62462) 2020-08-04 08:31:04 -07:00
Jonah Williams
32144161ae
[null-safety] remove some usages of mockito (#62809) 2020-08-04 08:26:12 -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
395510134c
Random unresolved doc reference fixes I missed before (#62582) 2020-07-30 12:01:04 -07:00
Ming Lyu (CareF)
d053a4d00a
Move key event and semantics related method from WidgetTester to WidgetController (#62362) 2020-07-29 08:11:06 -07:00
Ming Lyu (CareF)
e9e36f3909
WidgetController.pump use optional duration (#62091) 2020-07-29 08:01:04 -07:00
Michael Goderbauer
f4e10b4fb5
Make dartdoc warnings fatal (& cleanup of warnings) (#62367) 2020-07-28 16:11:04 -07:00
Ming Lyu (CareF)
6d07b1b475
Add WidgetController.scrollUntilVisible (#62097) 2020-07-28 10:46:07 -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)
056e455e94
Add a E2E based performance test case (#61509) 2020-07-23 08:31:04 -07:00
Ming Lyu (CareF)
9e2e0ef3b4
implement handlePointerEventRecord for LiveWidgetController (#61266) 2020-07-22 18:31:08 -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 aa4b4d35e1.
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)
c9cf9c9940
Promote WidgetTester.ensureVisible to WidgetController (#61540)
* Promtoe WidgetTester.ensureVisible

* modify according to tvolkert@
2020-07-15 14:54:49 -04:00
zichangg
3631adc99a
Fixing patch for coming breaking change in HttpClientRequest (#61138)
* Fixing patch for coming breaking change in HttpClientRequest

* Add noSuchMethod() and comment out abort()

* Add ignore: override_on_non_overriding_member
2020-07-15 10:07:57 -07:00
Jason Simmons
af47958eff
Update the golden image comparator to handle read-only image ByteData views (#61406) 2020-07-14 01:41:02 -07: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 2c7e5dd935.
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 d986fdc31a.
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
Michael Goderbauer
769468298b
Do not return partial semantics from tester.getSemantics (#60367) 2020-06-26 11:03:02 -07:00
David Worsham
db48cadd0d
Remove unused physicalDepth code (#60152) 2020-06-24 11:33:01 -07:00
Dan Field
868c4d8ce0
Fix issue with stack traces getting mangled (#59900) 2020-06-23 15:29:57 -07:00
Tong Mu
65b1956005
Add benchmark for Mouse region (web) (#59803) 2020-06-19 13:48:04 -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
Tong Mu
fb94d3fb78
Animation sheet recorder (#55527) 2020-05-14 14:32:03 -07:00
Tong Mu
7f8cb7f830
System mouse cursors (#54171)
Adds the basic framework for the mouse cursor system. 

* Adds MouseRegion.cursor
* Adds SystemMouseCursors
* Adds mouseCursor to some widgets
2020-05-11 13:34:20 -07:00
Matt Mohandiss
1e150c5d95
Update finders.dart (#55936)
Fixed #55858
2020-04-29 14:33:47 -07:00
Katarina Sheremet
3b067049ad
Support tags in testWidgets (#55141) 2020-04-28 15:49:01 -07:00
chunhtai
d482163f59
Revert "Fix FlutterError.onError in debug mode (#53843)" (#55484)
This reverts commit d35671c6d1.
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
Greg Spencer
c7b10df765
Fix initial value for highlight mode on desktop platforms. (#54306)
This fixes the initial value of FocusManager.highlightMode so that it gets initialized correctly on desktop platforms.

My recent update of this code (#52990) broke things so that the highlight mode never changed from the initial default of touch, which meant that focus highlights didn't show unless you set FocusManager.highlightStrategy to something (even automatic, the default: setting it caused the mode to be updated).
2020-04-10 13:23:55 -07:00
Jacob MacDonald
efdce3cf72
drop image package dependency for goldens (#54144) 2020-04-09 11:21:23 -07:00
Francisco Magdaleno
a0f7f6ca6d
[windows] Adds support for keyboard mapping. (#54227) 2020-04-08 10:07:02 -07:00
Michael Goderbauer
d47ad7ec0d
Reverse dependency between services and scheduler (#54212) 2020-04-08 09:12:03 -07:00
cjng96
d62c7ecce5
Ignore key events on edit control on web platform (#52656) (#52661) 2020-04-01 00:31:03 -07:00
adityapstar
a57feac62e
fixed typo in HttpClient failure message (#53211) 2020-03-25 15:26:01 -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