Commit Graph

146 Commits

Author SHA1 Message Date
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)
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
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
Mehmet Fidanboylu
8c67781f36
Comments around hanging tests via runAsync. (#60136) 2020-07-07 09:14:02 -07:00
Michael Goderbauer
769468298b
Do not return partial semantics from tester.getSemantics (#60367) 2020-06-26 11:03:02 -07:00
Tong Mu
fb94d3fb78
Animation sheet recorder (#55527) 2020-05-14 14:32:03 -07:00
Katarina Sheremet
3b067049ad
Support tags in testWidgets (#55141) 2020-04-28 15:49:01 -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
Albertus Angga Raharja
aad941e3fa
Avoid using FlutterError.fromParts when possible (#43696)
This PR is a follow up of https://github.com/flutter/flutter/pull/42640
Some changes of that PR includes redundant changes using FlutterError.fromParts constructor even though it's not necessary.

Some minor changes are:

- Remove one unnecessary todo
- Fix indent consistencies
2020-02-20 07:51:53 -08:00
Alexandre Ardhuin
f15c887c63
change quote to avoid escapes (#50368) 2020-02-11 20:58:27 +01:00
Greg Spencer
fabf4e3d0d Reverse the sense of the terms snippet and sample. (#48254) 2020-01-08 15:28:02 -08:00
Alexandre Ardhuin
4f9b6cf017
enable lint prefer_final_in_for_each (#47724) 2020-01-07 16:32:04 +01:00
Greg Spencer
19b9206add
Add variant testing to testWidgets (#45646)
This adds the ability to define variants of tests with different environmental values for a particular testWidgets test.

This allows you to run the same test multiple times with a different test environment. One test variant has been implemented that allows running a test with different settings of the TargetPlatform.
2019-12-20 15:00:16 -08:00
Dan Field
4ad8271bf5 Reland text state (#47464) 2019-12-19 13:43:02 -08:00
Lau Ching Jun
d51956a9ea
Revert "Call setEditingState when text changes. (#47177)" (#47397)
This reverts commit d4b49ce9fc.
2019-12-18 18:03:24 -08:00
Shouichi Kamiya
0764548231 s/v-sync/Vsync/g (#46660) 2019-12-17 19:43:03 -08:00
Dan Field
d4b49ce9fc
Call setEditingState when text changes. (#47177) 2019-12-17 14:03:04 -08:00
Ian Hickson
449f4a6673
License update (#45373)
* Update project.pbxproj files to say Flutter rather than Chromium

Also, the templates now have an empty organization so that we don't cause people to give their apps a Flutter copyright.

* Update the copyright notice checker to require a standard notice on all files

* Update copyrights on Dart files. (This was a mechanical commit.)

* Fix weird license headers on Dart files that deviate from our conventions; relicense Shrine.

Some were already marked "The Flutter Authors", not clear why. Their
dates have been normalized. Some were missing the blank line after the
license. Some were randomly different in trivial ways for no apparent
reason (e.g. missing the trailing period).

* Clean up the copyrights in non-Dart files. (Manual edits.)

Also, make sure templates don't have copyrights.

* Fix some more ORGANIZATIONNAMEs
2019-11-27 15:04:02 -08:00
Alexandre Ardhuin
4bf03c6cf8
implicit-casts:false in flutter_test (#44996) 2019-11-19 08:10:24 +01:00
Jonah Williams
e77c24ef91
Update package test (#44882) 2019-11-14 09:31:36 -08:00
Albertus Angga Raharja
b31ca1aaca
Add more structure to errors (continuation of #34684) (#42640)
* Add structured errors in Animations, TabView, ChangeNotifier

* Add structured error on MaterialPageRoute, BoxBorder, DecorationImagePainter, TextSpan

* Add structured errors in Debug

* Fix test errors

* Add structured errors in Scaffold and Stepper

* Add structured errors in part of Rendering Layer

* Fix failing test due to FloatingPoint precision

* Fix failing tests due to precision error and not using final

* Fix failing test due to floating precision error with RegEx instead

* Add structured error in CustomLayout and increase test coverage

* Add structured error & its test in ListBody

* Add structured error in ProxyBox and increase test coverage

* Add structured error message in Viewport

* Fix styles and add more assertions on ErrorHint and DiagnosticProperty

* Add structured error in scheduler/binding and scheduler/ticker

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Add structured error in AssetBundle and TextInput

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Add structured errors in several widgets #1

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Remove unused import

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Add assertions on hint messages

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Fix catch spacing

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Add structured error in several widgets part 2 and increase code coverage

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Add structured error in flutter_test/widget_tester

* Fix floating precision accuracy by using RegExp

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Remove todo to add tests in Scaffold showBottomSheet

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Fix reviews by indenting lines and fixing the assertion orders

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Fix failing tests due to renaming class

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Try skipping the NetworkBundleTest

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>

* Remove leading space in material/debug error hint

Signed-off-by: Albertus Angga Raharja <albertusangga@google.com>
2019-10-28 11:00:49 -07:00
Greg Spencer
0e6cb28dbe
Add fake keyboard key generation to the testing framework (#40706)
There were four or five different implementations in various tests for sendFakeKeyEvent, which roughly all did the same thing. I was going to add yet another one, and decided that it needed to be generalized and centralized. This replaces those instances with something that just takes a LogicalKeyboardKey so that it's self-documenting, and can be used with multiple platforms.

This adds two functions to widget tester: sendKeyDownEvent and sendKeyUpEvent which simulate key up/down from a physical keyboard. It also adds global functions simulateKeyDownEvent and simulateKeyUpEvent that can be called without a widget tester. All are async functions protected by the async guard.
2019-09-24 08:14:38 -07:00
Dan Field
3eb40925e5
Always test semantics (#35110)
Default `semanticsEnabled` to true for `testWidgets` and fix associated bugs
2019-06-28 12:40:23 -07:00
Tong Mu
94dbdcba73
benchmarkWidgets.semanticsEnabled default false. (#35280)
In order not to break existing benchmarks.
2019-06-28 11:03:16 -07:00
Tong Mu
03ed06f44d
New benchmark: Gesture semantics (#35232)
* Add semanticsEnabled to widgetBenchmark
* Add button_matrix_app and gesture benchmark
2019-06-28 00:37:01 -07:00
Alexandre Ardhuin
c7408be181
prepare for lint update of prefer_final_fields (#35059) 2019-06-25 19:39:34 +02:00
Ian Hickson
f31fc1bd0f More removing of timeouts. (#33932) 2019-06-12 23:12:35 -07:00
sjindel-google
f83df74b6b
Don't print warning message when running benchmarks test. (#33842)
# Description
Currently the benchmarks test prints a scary warning message, even when it passes, that a benchmark is being run with asserts enabled.

Normally we don't want developers to do this, because the performance of code with asserts is not characteristic of what end-users will experience. However, we need to unit-test benchmarkWidgets, so I've added a contraindicated option to suppress the warning for the test.

# Related Issues
25049 (comment)
2019-06-06 19:39:32 +02:00
Todd Volkert
323373d333
Add blank newline after Dartdoc bulleted list. (#33403)
This also fixes up some indentation in some
bulleted lists.

https://github.com/dart-lang/dartdoc/issues/1969
2019-05-27 12:27:28 -07:00
Alexandre Ardhuin
bfa1d25bf9
some formatting of map, parameters and spaces (#29760) 2019-03-23 00:02:21 +01:00
Dan Field
8e14c227eb
Make it easier to ensure semantics in widgetTests (#29387)
* Make it easier to ensure semantics
2019-03-18 10:08:23 -07:00
Alexandre Ardhuin
440ce8fde6
Fix indentations of statements in BlockFunctionBody (#28933)
* fix indentof statements in BlockFunctionBody

* fix indentof statements in BlockFunctionBody in tests
2019-03-07 21:09:28 +01:00
TruongSinh Tran-Nguyen
0c7fe40e37 fix #19175 How should addTime be used from a test? (#25202) 2019-03-06 15:32:33 -08:00
Phil Quitslund
802eca29d2
set literal conversions (#27811) 2019-03-06 11:05:16 -08:00
Alexandre Ardhuin
387f885481
Add missing trailing commas (#28673)
* add trailing commas on list/map/parameters

* add trailing commas on Invocation with nb of arg>1

* add commas for widget containing widgets

* add trailing commas if instantiation contains trailing comma

* revert bad change
2019-03-01 08:17:55 +01:00
Anthony
338581b866
add await to fix analyzer (#28157) 2019-02-28 19:17:18 -05:00
Alexandre Ardhuin
5169ab5974
format parameter list (#27261) 2019-02-21 09:27:07 +01:00
Konstantin Scheglov
39289b83ac
Update additionalTime in TestWidgetsFlutterBinding.runAsync() to 1000. (#27256) 2019-01-30 07:31:00 -08:00
Dan Field
bb5663d2d8
Add docs and sample for takeException (#27140)
* Add docs and sample for takeException

* fix sample
2019-01-27 09:43:09 -08:00
sjindel-google
4881777203
Fix behavior of handleDrawFrame() in benchmark mode. (#25049) 2019-01-22 11:46:14 +01:00
Alexandre Ardhuin
868ff42821
fix doc-comment snippets (#25579) 2019-01-07 21:44:16 +01:00
Jonah Williams
f30029bae1
Run flutter tests through mini test engine when run directly (flutter run -t test_file) (#24930) 2018-12-12 12:51:16 -08:00
Jonah Williams
9ecb4ce9a6
remove deprecated testing members (#24115) 2018-11-09 10:05:11 -08:00
Jonah Williams
a43e3a4a2f
Retry remove package:test from flutter (#24007) 2018-11-06 10:48:34 -08:00
Jonah Williams
23a7535a39
Revert "Remove package:test dependency from flutter_test (#23755)" (#24004)
This reverts commit 71e9bd6f25.
2018-11-06 09:12:48 -08:00
Jonah Williams
71e9bd6f25
Remove package:test dependency from flutter_test (#23755) 2018-11-06 08:39:27 -08:00
Dinesh Ahuja
7fbb5b9f32 Create WidgetTester.ensureVisible(Finder) (#22620)
This is just a shorthand for
Scrollable.ensureVisible(tester.element(finder))

Fixes #8185
2018-10-18 12:17:47 -07:00
Alexandre Ardhuin
0fb84e96c7
Prefer void to null (#22977)
* Future<void> main

* Future<void>.delayed

* prefer_void_to_Null

* address review comments
2018-10-16 22:03:06 +02:00