Commit Graph

216 Commits

Author SHA1 Message Date
Ian Hickson
5e4e530e93
Fix a legacy TODO (#77454) 2021-03-16 10:48:02 -07:00
Zachary Anderson
e7e1a04aa3
Revert "Align more closely with package:test (#77118)" (#78329)
This reverts commit 0cbe597540.
2021-03-16 09:26:34 -07:00
Ian Hickson
0cbe597540
Align more closely with package:test (#77118) 2021-03-15 16:28:02 -07:00
Michael Goderbauer
7b251f5f37
Enable use_function_type_syntax_for_parameters lint (#77163) 2021-03-04 08:59:17 -08:00
Jason Simmons
6757c7dd47
Use a null default skip value in testWidgets so it can inherit the group's skip flag (#76174) 2021-02-17 14:31:03 -08:00
Sam Rawlins
fcad4e2efe
Remove "unnecessary" imports in flutter_test (#76157) 2021-02-16 16:01:05 -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
Anas35
091a74dab6
removed new keyword (#75049) 2021-02-01 09:59:53 -08: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
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
Michael Goderbauer
19e07d2beb
Migrate flutter_test (#66663) 2020-09-30 17:03:40 -07:00
Ming Lyu (CareF)
3c321ac80f
cleanup (#66743) 2020-09-29 15: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
Ian Hickson
8a6a76a334
migrate rendering to nullsafety (#64621) 2020-08-27 16:38:10 -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)
8081455394
revert widgettester breaking change (#62914) 2020-08-04 17:26:05 -07:00
Ming Lyu (CareF)
a36b0ba4f6
promote WidgetTester pumpAndSettle (#62640) 2020-08-04 08:31:08 -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
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
Alexandre Ardhuin
0e76cb4c10
prefer_void_to_null in flutter_test (#22847)
* prefer_void_to_null in flutter_test

* fix CI
2018-10-11 18:00:46 +02:00
Jonah Williams
cdf1cec902
add ability to match child semantics data (#22001) 2018-10-05 17:44:26 -07:00
Alexandre Ardhuin
f62afdcf57
add missing type parameter on methods (#22096) 2018-10-01 21:29:08 +02:00
Alexandre Ardhuin
a07d3719a1
enable lint prefer_generic_function_type_aliases (#21680) 2018-09-14 21:06:19 +02:00
Alexandre Ardhuin
d927c93310
Unnecessary new (#20138)
* enable lint unnecessary_new

* fix tests

* fix tests

* fix tests
2018-09-12 08:29:29 +02:00
xster
c418b2f328
Auto populate nav bar title and previous from page route (#19637) 2018-08-23 18:24:30 -07:00
Ian Hickson
35346b4966
Increase verbosity on bots during setup and other minor cleanup (#19526)
The verbosity change is to help track down timeouts that currently look like:

```
C:\Windows\Temp\flutter sdk>call bin\flutter.bat config --no-analytics
Checking Dart SDK version...
Downloading Dart SDK from Flutter engine c5a63d28bf3735569c8187753bc490d8351a8363...
Unzipping Dart SDK...
Updating flutter tool...
```
2018-07-20 11:01:45 -07:00
Greg Spencer
1cc036519c
Removes trailing whitespace from source files. (#19329) 2018-07-19 23:03:58 -07:00
Jonah Williams
41646c9579
Add new matcher and utility methods for testing semanics (#19046) 2018-07-09 15:21:46 -07:00
Ian Hickson
b44784b429
Clear the keyboard state in the test framework when keyboard is closed. (#18615) 2018-06-26 15:11:37 -07:00
Ian Hickson
6599271bf5
Revert matcher package (#18614)
The new matcher package deprecates isInstanceOf which seems eggregious.
2018-06-19 17:22:56 -07:00
Chris Bracken
2ae48845a8
Revert elimination of Dart 1 (#18460)
fuchsia_tester.dart still assumes Dart 1. Previously, it ran tests directly
from source, flutter_platform.dart automatically runs a kernel compile when
operating in Dart 2 mode, but this assumes a functional Dart SDK is available
in the artifacts directly, and fuchsia_tester.dart mocks out the artifacts
directory with an empty temp dir.

Remaining work is:
1. Get the frontend server building as a dependency on Fuchsia.
2. Patch fuchsia_tester.dart to use a valid Dart SDK and frontend server.

This also reverts migration to Dart 2 typedef syntax.

This reverts commit 6c56bb2. (#18362)
This reverts commit 3daebd0. (#18316)
2018-06-13 12:46:39 -07:00
Ian Hickson
dac2ebf0c0
More flexible timeout logic in flutter_test (#18256)
This should reduce the number of flakes without actually increasing
the timeout, so we'll still find out quickly if a test is hanging.

The numbers here might need tweaking. Maybe the default two seconds is
too short for CI bots.
2018-06-11 16:28:01 -07:00
Greg Spencer
6c56bb2420
Update typedef syntax to use Function notation and turn on lint for old notation. (#18362)
Now that Dart 1 is turned off, reapplying my change to turn on the prefer_generic_function_type_aliases analysis option, and fix all the typedefs to Dart 2 preferred syntax.

Also eliminated the unused analysis_options_repo.yaml file and turned on public_member_api_docs in analysys_options.yaml.

No logic changes, just changing the typedef syntax for all typedefs, and updating analysis options.
2018-06-11 15:51:45 -07:00
Michael Goderbauer
12eeb94c89
Compare SemanticsHandler# at end of test to value at beginning of test (#18183) 2018-06-05 12:24:56 -07:00
Alexandre Ardhuin
09276bea25
enable lint prefer_equal_for_default_values (#18156) 2018-06-05 08:50:40 +02:00
Greg Spencer
b921fdc58e
Revert "Update typedef syntax to use Function notation and turn on lint for old notation. (#18035)" (#18041)
This reverts commit 3258602073.
2018-05-30 13:51:14 -07:00
Greg Spencer
3258602073
Update typedef syntax to use Function notation and turn on lint for old notation. (#18035)
Fixes #18028

Just changes typedef declarations, no logic changes.
2018-05-30 12:13:58 -07:00
Danny Tuppeny
514701fe46
Remove test group in favour of addTearDown (#17962) 2018-05-28 21:45:56 +01:00
Konstantin Scheglov
eba194f776
Mark testWidgets() and testUsingContext() with @isTest. (#17772) 2018-05-21 11:11:23 -07:00
Ian Hickson
ca94bfdfc6 Factor our common Paint-building code used with BoxShadow (#17363) 2018-05-09 22:42:38 -07:00
Todd Volkert
dedd180f9f
Fix expectLater to not wrap the delegate in a guard (#17085)
Follow-up to https://github.com/flutter/flutter/pull/17063

https://github.com/flutter/flutter/issues/16859
2018-04-30 10:05:04 -07:00
Todd Volkert
8860627b63
Add WidgetTester.runAsync() (#17029)
This will allow callers to run real async code within a widget test.

https://github.com/flutter/flutter/issues/16859
2018-04-28 15:14:46 -07:00
Todd Volkert
8b99d1d83c
Add expectLater to flutter_test (#17063)
* Wrap `expectLater()` in flutter_tester so that callers can
  wait for the matcher to complete in their tests

https://github.com/flutter/flutter/issues/16859
2018-04-28 13:54:08 -07:00
xster
d8f360717f
Add a way to generically go back on both Material and Cupertino scaffold pages (#15602)
* Add a way to generically go back on both Material and Cupertino scaffold pages

* review

* lint

* review

* Fix text assert text
2018-03-19 16:57:05 -07:00
Yegor
9c49255f3e
a11y: remove SemanticsSortOrder; sort locally only; semanticsOwner post-test check (#15537)
* a11y: remove SemanticsSortOrder; sort locally only; semanticsOwner post-test check

* update accessibility test framework

- default nextNodeId/previousNodeId to -1
- stop treating null as opt-out from value testing
- add `id`, `TestSemantics.root`, and `tags` to the suggested code in the TestSemantics failure message
- fix a small bug with raw string escaping
- update all tests accordingly

* fix sortKey doc

* prefer const over final
2018-03-18 22:18:52 -07:00
Alexander Aprelev
2f8474f9aa
Roll engine to b6df7a637498ca9beda1fa9cd7210e3202ea599f. (#15444)
* Roll engine to b6df7a637498ca9beda1fa9cd7210e3202ea599f.

Changes since last roll:
```
b6df7a637 Roll dart to 290c576264faa096a0b3206c71b2435309d9f904. (#4771)
a6764dbd5 Add sources for Fuchsia target. (#4763)
2d5900615 [fuchsia] Remove unused header file. (#4769)
9717063b7 Revert "Roll dart to c080951d45e79cd25df98036c4be835b284a269c. (#4767)" (#4768)
9a9814312 Roll dart to c080951d45e79cd25df98036c4be835b284a269c. (#4767)
e74e8b35c [async] Update includes of async headers to new path (#4760)
e2c4b2760 Use Dart 2 camel case constants in the engine Dart libraries (#4766)
9c1e48434 Updates for Fuchsia roll. (#4765)
14c940e27 Switch from fxl::Mutex to std::mutex (#4764)
debf82c0b Roll Garnet (#4759)
5bffdefbb Use weak pointers to the accesibility bridge from objects vended to the UIKit accessibility framework. (#4761)
```
2018-03-12 15:44:25 -07:00
Alexandre Ardhuin
2e80bf1db7
unnessary parenthesis (#14475) 2018-02-06 09:00:11 +01:00
Ian Hickson
9b92c919a0
Imply stops on LinearGradient and RadialGradient if they're missing (#13987) 2018-01-09 08:22:17 -08:00
Ian Hickson
d25e0eb0d3
Fix tapping on a test in flutter run (#13397)
Also:

* Remove find.byIcon since it's identical to find.icon. (I sent mail to flutter-dev about this.)

* Fix IconData's operator== and hashCode, which had not been updated when we added fields.

* Add the byTooltip finder to the list of suggested finders.

* Make the suggested Key finder prettier.
2017-12-08 14:37:24 -08:00