Commit Graph

493 Commits

Author SHA1 Message Date
Justin McCandless
0efb28d706
Revert "Fix a legacy TODO (#77454) (#79061)" (#79959)
This reverts commit b070ed3c04.
2021-04-07 12:24:22 -07:00
Ian Hickson
b070ed3c04
Fix a legacy TODO (#77454) (#79061) 2021-04-02 22:39:03 -07:00
LongCatIsLooong
c1c5b492be
Reland 79654 (#79656) 2021-04-02 15:44:02 -07:00
LongCatIsLooong
bf6e38db2b
Revert "enterText to move the caret to the end (#79506)" (#79654)
This reverts commit 67d8556baa.
2021-04-02 10:57:14 -07:00
LongCatIsLooong
67d8556baa
enterText to move the caret to the end (#79506) 2021-04-01 20:29:03 -07:00
Alexander Brusher
beb62a663d
Rolls isKeyboardKey engine change with fix (#79407)
* Adds a semantics node flag to identify sliders.

* [fuchsia] Fix roll of engine PR #25167

This changes fixes tests failing due to new isKeyboardKey semantics
flag.

* Fix typo

Co-authored-by: Zachary Anderson <zanderso@users.noreply.github.com>
2021-03-31 10:43:58 -07:00
Jonah Williams
443d07b707
[versions] roll to latest test (#79099) 2021-03-31 07:45:40 -07:00
Michael Bui
39499bd2bf
make showKeyboard respect finder's skipOffstage value (#79034) 2021-03-29 18:19:03 -07:00
Michael Goderbauer
a7e3b1a35d
Clean up ignores that are not ignoring anything (#78493) 2021-03-19 15:32:46 -07:00
Angjie Li
6515806717
Revert "Fix a legacy TODO (#77454)" (#78584)
This reverts commit 5e4e530e93.
2021-03-19 10:08:12 -07:00
Ian Hickson
5e4e530e93
Fix a legacy TODO (#77454) 2021-03-16 10:48:02 -07:00
Chris Bracken
565e48777a
Roll Engine from 299eb3e710c1 to 67abe7f9a9e4 (13 revisions) (#77386)
This is a manual roll since it requires adding a new SemanticsAction to
an element in the flutter_test SemanticsAction matchers test which was
added as part of https://github.com/flutter/engine/pull/24734.

299eb3e710...67abe7f9a9

2021-03-05 skia-flutter-autoroll@skia.org Roll Skia from 994a571fc79a to 532138cea7ea (4 revisions) (flutter/engine#24812)
2021-03-05 skia-flutter-autoroll@skia.org Roll Dart SDK from b321d01eec78 to 4693d6d4f88e (1 revision) (flutter/engine#24811)
2021-03-05 skia-flutter-autoroll@skia.org Roll Dart SDK from 835da00aa6b5 to b321d01eec78 (1 revision) (flutter/engine#24808)
2021-03-05 skia-flutter-autoroll@skia.org Roll Skia from d42fe062d0a7 to 994a571fc79a (1 revision) (flutter/engine#24806)
2021-03-05 skia-flutter-autoroll@skia.org Roll Skia from 3b58d38966f4 to d42fe062d0a7 (2 revisions) (flutter/engine#24805)
2021-03-05 skia-flutter-autoroll@skia.org Roll Skia from 6ba242d2a201 to 3b58d38966f4 (1 revision) (flutter/engine#24804)
2021-03-05 skia-flutter-autoroll@skia.org Roll Dart SDK from 1b674d73af53 to 835da00aa6b5 (1 revision) (flutter/engine#24803)
2021-03-05 chris@bracken.jp Update cppwinrt to build 2.0.210304.5 (flutter/engine#24801)
2021-03-05 skia-flutter-autoroll@skia.org Roll Skia from 55aaefe687c7 to 6ba242d2a201 (18 revisions) (flutter/engine#24799)
2021-03-05 47866232+chunhtai@users.noreply.github.com Adds set text action for voice access (flutter/engine#24734)
2021-03-04 jason-simmons@users.noreply.github.com SkParagraph: support multiple default font families (flutter/engine#24662)
2021-03-04 skia-flutter-autoroll@skia.org Roll Clang Mac from MQQ43_LGr... to MRLGJYv8V... (flutter/engine#24794)
2021-03-04 jason-simmons@users.noreply.github.com Allow calls to legacyMakeTypeface in the AssetFontManager (flutter/engine#24612)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC cbracken@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md
2021-03-05 10:10:32 -08:00
Michael Goderbauer
ed755fba5e
Enable avoid_unnecessary_containers lint (#77294) 2021-03-04 15:29:03 -08:00
Michael Goderbauer
7b251f5f37
Enable use_function_type_syntax_for_parameters lint (#77163) 2021-03-04 08:59:17 -08:00
Greg Spencer
c6ef4c75d9
Turn on sized_box_for_whitespace lint, fix instances. (#77099) 2021-03-03 17:29:02 -08:00
Michael Goderbauer
0f568298d8
enable use_key_in_widget_constructors lint (#77032) 2021-03-02 10:14:02 -08:00
Kate Lovett
6ec9014298
Expose the diff from ComparisonResult (#77014) 2021-03-02 10:09:03 -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
Alexandre Ardhuin
d546e1d311
fix for upcoming lint use_named_constants (#74788) 2021-01-27 20:20:44 +01:00
Ian Hickson
37a0189773
Don't leak exceptions thrown by message channels (#74446) 2021-01-27 11:19:04 -08:00
Michael Goderbauer
7a3a29e71f
Fixes Intrinsics for RenderParagraph and RenderWrap (#70656) 2020-11-20 17:24:58 -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
Zachary Anderson
e59ab90ae1
Add Dart SDK constraint to a pubspec (#70030)
This will unblock the roll of the next Dart SDK
2020-11-07 11:42:05 -08:00
Alexander Brusher
099ae9b417
Re-enables tests previously failing due to new semantics flag. (#66916) 2020-10-22 15:32:03 -07:00
Michael Goderbauer
42f3709a5a
Sound null safety for framework and flutter_test (#68642) 2020-10-21 10:09:11 -07:00
Alexandre Ardhuin
c0176c9ee5
use_is_even_rather_than_modulo (#68301) 2020-10-16 20:20:00 +02:00
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
ef6c720d40
[flutter_test] handle breaking change to test main (#67425)
* [flutter_test] handle breaking change to test main . Fixes #67382
2020-10-06 16:52:23 -07:00
Michael Goderbauer
8998167d0f
Make FlutterErrorDetails.exception non-nullable as documented (#67364) 2020-10-05 18:07:02 -07:00
Michael Goderbauer
cba170fbb2
Migrate the tests of flutter_test to null-safety (#67058) 2020-10-01 16:27:02 -07:00
Kate Lovett
d1178ae73b
Fix local gold output for flutter/flutter (#66139) 2020-10-01 11:17:03 -07:00
Michael Goderbauer
19e07d2beb
Migrate flutter_test (#66663) 2020-09-30 17:03:40 -07:00
Christian Mürtz
1415078828
Find text containing in tests (#65072) 2020-09-16 16:32:03 -07:00
Alexander Brusher
68660e127c
Disables test failing due to new semantics flag. (#65194)
This change disables a failing test prevent PR #20385 from merging.
2020-09-10 16:44:32 -07:00
Ming Lyu (CareF)
2c716c4d49
add vsync overhead to FrameTimingSummarizer (#63835) 2020-08-17 16:51:04 -07:00
Ming Lyu (CareF)
c2368bdd6f
bug fix for pointer id in test gestures (#63816) 2020-08-15 10:41:02 -07:00
Michael Goderbauer
39a46bedad
Remove decommission from RestorationBuckets (#63687) 2020-08-13 15:01:04 -07:00
Ming Lyu (CareF)
0629030a05
WidgetTester.drag with time duration (#63410) 2020-08-12 21:01:03 -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
Hans Muller
73ce3f21d0
Updated old button references in packages/flutter_test (#63230) 2020-08-08 18:20:53 -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)
e03980ec47
separate scroll until visible implementation for lower level accessibility (#62462) 2020-08-04 08:31: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
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)
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)
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
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
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
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
chunhtai
5623fea53c
Reverse the semantics order of modal barrier and modal scope (#59290)
* Add semantics sort key for modal scope and modal barrier

* fix test

* fix test

* fix test

* fix space

* fix more tests

* addressing comments
2020-06-24 10:37:53 -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
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
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
Alexandre Ardhuin
f5a9902577
enable avoid_equals_and_hash_code_on_mutable_classes (#52507) 2020-04-06 13:36:01 -07:00
Miguel Beltran
7ff3a50fe7
Set highContrast value from AccessibilityFeatures into MediaQueryData (#48811) 2020-02-26 13:36:02 -08:00
Kate Lovett
52ee8a6c65
Remove highContrast from FakeAccessibilityFeatures (#51130) 2020-02-20 10:28:49 -08:00
Miguel Beltran
d295fbb6a1
Add highContrast to FakeAccessibilityFeatures test (#48486) 2020-02-19 13:26:05 -08:00
Dan Field
b2a27c109c
Be clearer about when and why we override HttpClient in tests (#49844) 2020-01-31 09:22:30 -08:00
Dan Field
8b2993337a
revert #48985 (#49572) 2020-01-27 14:36:02 -08:00
Tianguang
e2aa9e13ce Achieve Color Contrast Accessibility for Menu Demo (#49099) 2020-01-23 18:43:01 -08:00
Alexandre Ardhuin
3800bb7b10 fix missing spaces in adjacent strings (#49159) 2020-01-21 16:43:03 -08:00
Anthony
b67d5ec6e9 [a11y] Make sure RenderFractionalTranslation updates its semantics after the translation field is set (#48985) 2020-01-17 15:13:01 -08:00
Greg Spencer
bf1d822198 Add TargetPlatform.macOS tests to cupertino, foundation, rendering, and services libraries. (#45644) 2020-01-16 19:38:01 -08:00
Alexandre Ardhuin
003541499b use isA<Xxx>() matcher (#48482) 2020-01-16 12:43:03 -08:00
Ian Hickson
e2b169ebd3 Apply void_checks lint. (#48267) 2020-01-13 10:03:01 -08:00
Alexandre Ardhuin
82262d8896 format operator== according to flutter style guide (#48449) 2020-01-09 08:23: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
Kate Lovett
c281369356 Fix subdirectory output (#47256) 2019-12-18 16:33:01 -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
LongCatIsLooong
4ac2daf337
CupertinoTheme & CupertinoTextTheme dark mode updates (#41859) 2019-10-28 15:50:08 -07: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
89d6c8d90b
Enables setting of semantics focused and focusable attributes within Focus widgets. (#41814)
This adds a Semantics node to the Focus and FocusScope widgets, setting the focused and focusable attributes so that the accessibility subsystem can be told when a control has the input focus.

Includes an engine roll to flutter/engine@77252d2, and the following 8 engine changes:

flutter/engine@77252d2 Greg Spencer Add missing focusable testing info (flutter/engine#13013)
flutter/engine@0e42a29 skia-flutter-.. Roll src/third_party/skia 54548626a977..e27a503a0a21 (1 commits) (flutter/engine#13024)
flutter/engine@6b56ed7 gaaclarke Refactor: FlutterDartProject (flutter/engine#13006)
flutter/engine@393480c skia-flutter-.. Roll src/third_party/skia 77dde599c98a..54548626a977 (1 commits) (flutter/engine#13023)
flutter/engine@080b89d skia-flutter-.. Roll src/third_party/skia 2b1a25a4d324..77dde599c98a (1 commits) (flutter/engine#13021)
flutter/engine@90b0f30 Ben Konyi Roll src/third_party/dart f4a72bfc64..bb04f145b2 (18 commits) (flutter/engine#13020)
flutter/engine@049fb89 skia-flutter-.. Roll fuchsia/sdk/core/linux-amd64 from q_uYX... to cknsi... (flutter/engine#13019)
flutter/engine@6925b2a skia-flutter-.. Roll fuchsia/sdk/core/mac-amd64 from wuAtw... to u0JpE... (flutter/engine#13018)

Related Issues
Addresses #40101

Landing on red in order to fix the build: it's red because of the needed engine roll.
2019-10-09 14:45:42 -07:00
Kate Lovett
1ec44a0c36
Incorporating Link Semantics (#41327) 2019-10-08 18:16:11 -07:00
Mehmet Fidanboylu
c19e553d64 Allow test beds to override defaultTestTimeout (#40806) 2019-09-24 16:53:40 -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
Michael Goderbauer
4373a31971
Reapply "Revert "Propagate textfield character limits to semantics (#40468)" (#40767) 2019-09-18 14:55:37 -07:00
Michael Goderbauer
b4324aed59
Revert "Propagate textfield character limits to semantics (#40468)" (#40714)
This reverts commit 6ad88bd5c0.
2019-09-17 16:37:11 -07:00
Michael Goderbauer
6ad88bd5c0
Propagate textfield character limits to semantics (#40468) 2019-09-17 14:39:50 -07:00
Kate Lovett
e62c68c243
Fix for broken LocalFileComparator output (#40399)
* Fixing LocalFileComparator output

* Fixing path separators for windows failures

* Windows path issues

* Testing

* ++

* ++

* Fixing base directory - windows

* Clean up
2019-09-16 13:14:46 -07:00
Jonah Williams
7bc4074ff3
use dpr and window size from binding (#39577) 2019-09-01 23:57:32 -07:00
Phil Quitslund
37846b032f
migrate from slow async io calls (#39515)
* migrate from slow async io calls
2019-08-29 16:47:10 -07:00
Kate Lovett
6ff212b328
Comparing pixels instead of bytes with GoldenFileComparator (#38473) 2019-08-19 09:06:22 -07:00
Kate Lovett
cac8fa5da0
Re-land 'Adding physicalDepth to MediaQueryData & TestWindow' (#38546) 2019-08-16 13:34:23 -07:00
Kate Lovett
f3dbefd3ce
Revert "Adding physicalDepth to MediaQueryData & TestWindow (#37718)" (#37938)
This reverts commit 3a2d30813a.
2019-08-09 12:58:59 -07:00
Kate Lovett
3a2d30813a
Adding physicalDepth to MediaQueryData & TestWindow (#37718) 2019-08-07 13:52:16 -07:00
Dan Field
84fe2adedb
Nosuchmethod window (#37417) 2019-08-01 20:04:49 -07:00
Kate Lovett
616794fca7
Re-land "Part 1: Skia Gold Testing" (#36103) 2019-07-28 12:26:06 -07:00
Mouad Debbar
9c9b71a0fb
Add multi-line flag to semantics (#36297) 2019-07-18 10:36:22 -07:00
Kate Lovett
8809f698cb
Revert "Part 1: Skia Gold Testing (#33688)" (#36094)
This reverts commit eb0b179028.
Skia Gold post-submit test were failing due to the service account not being found on Cirrus.
2019-07-12 13:35:36 -07:00
Kate Lovett
eb0b179028
Part 1: Skia Gold Testing (#33688)
* Fresh PR for Gold integration.

* Nits

* WIP

* Artifacts from merge

* Changed some platform dependencies for web, added library prefix notation for Skia Gold test names.

* Updating for CI implementation

* Write out service account

* Writing to skip out

* WIP

* ++

* Fixing depot tools deps

* Windows depot_tools

* Fixing setup scripts

* ++

* depot tools

* ++

* WIP

* Tracing depot_tools clone

* WIP

* ++

* analyzer

* WIP

* chrome typo

* copy artifact

* Working on tests

* Code cleanup

* ++

* Code cleanup, updated tests

* ++ review feedback

* Review

* Analyzer

* Review feedback

* Nits from review

* PRogress

* ++

* Fixing tests

* ++

* Testing repo route

* Just needing documention around new structures.

* cleanup

* Analyzer

* Documentation updates

* Documentation updates

* Cirrus updates

* cirrus nit

* Review feedback

* Review feedback

* Fixing skip comparator

* Fix base directory for Skia Gold case

* ++

* Feedback

* ++

* Fixed uri assertion

* Made GoldensClient abstract, altered SkiaGoldClient constructor

* Analyzer
2019-07-12 12:23:04 -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
David Shuckerow
df6e4d4872
Make it possible to override the FLUTTER_TEST env variable (#34301)
* Make it possible to override the FLUTTER_TEST env variable without unsetting it.

* Switch to using platform instead of Platform.

* Document the bindings, and introduce tests that initialize multiple WidgetsBindings with different environments.

* Add tests for the flutter platform test.

* Add license headers

* Fix lints

* Remove trailing whitespace

* Respond to Jonahs comments

* Respond to Ians comments

* Mock out the HttpServer in flutter_platform_test

* Mock out the HttpServer in flutter_platform_test

* Explain why we mock out the HttpServer in flutter_platform_test
2019-06-28 10:37:27 -07:00
chunhtai
c8c20fbc1f
add read only semantics flag (#34683) 2019-06-19 14:41:44 -07:00
Kate Lovett
7d95e8e0c1
Splitting golden file versioning out as an argument of matchesGoldenFile (#33880)
* Splitting golden file versioning out as an argument of matchesGoldenFile

* Fixing description implementation.

* Removing unused imports

* Removing unused import

* Review feedback
2019-06-18 11:32:13 -07:00
Sam Rawlins
c2a93bd545 Fix missing return statements on function literals (#33058) 2019-05-20 12:51:57 -07:00
Tong Mu
20299a2c17
Add buttons customization to WidgetController and related testing classes (#31095)
* Add buttons to WidgetController and TestPointer

* Add more buttons

* Let TestPointer handle default device

* Use getter only buttons
2019-05-15 15:42:03 -07:00
Kate Lovett
829bdeb426
Fixing accidental merge from WIP branch. (#32520)
Revert "Merge branch 'master' into master"

This reverts commit e3a03c04c4, reversing
changes made to 6474982649.
2019-05-10 15:53:41 -07:00
Kate Lovett
e3a03c04c4
Merge branch 'master' into master 2019-05-10 15:16:40 -07:00
Ian Hickson
f61a2c3907 Clean up flutter_test/test/controller_test.dart (#31333)
Instead of using a custom WidgetController, which is very brittle, we just use the usual infrastructure.

Also, use structured data instead of an array.

This adds offsetMoreOrLessEquals to handle small floating point errors in offsets.
2019-05-06 14:36:30 -07:00
Jonah Williams
dd5d0d6c36
rename foreground and background to light and dark (#32070) 2019-05-06 08:02:08 -07:00
Kate Lovett
4676c66b9a
Merge branch 'gold' into master 2019-05-02 15:01:35 -07:00
Jacob Richman
63aa5b3647
Refactor core uses of FlutterError. (#30983)
Make FlutterError objects more structured so they can be displayed better in debugging tools such as Dart DevTools.
2019-05-01 11:20:12 -07:00
Dan Field
fe9512fa72
Re-enable const (#31600)
* Re-enable const
2019-04-29 16:02:42 -07:00
Dan Field
06e1f8fc15
Roll engine to 3e47b4bb39bb4993f03a278ea7b1c11ee6459b06 (#31569)
* Manual roll with updated test
2019-04-24 17:20:02 -07:00
Dan Field
37bc48f26e
rectMoreOrLess equals, prep for 64bit rects (#30942)
* rectMoreOrLess equals, prep for 64bit rects
2019-04-22 09:40:19 -07:00
Kate Lovett
9e3e44ee3d Committing test progress. 2019-04-19 11:32:16 -07:00
Jonah Williams
715cb5132e
Fix bugs in contrast guideline and improve heuristic (#31000) 2019-04-15 09:01:09 -07:00
Alexandre Ardhuin
bfa1d25bf9
some formatting of map, parameters and spaces (#29760) 2019-03-23 00:02:21 +01:00
Dan Field
5e27ebbe8d
Add semantic label finders (#29342)
* Add semantic label finders
2019-03-18 20:32:03 -07: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
Michael Goderbauer
816ae4b193
Include platformViewId in semantics tree (#28953) 2019-03-12 07:44:39 -07:00
Alexandre Ardhuin
a0d1f93b07
fix block formatting (#29051) 2019-03-09 09:03:11 +01: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
Alexandre Ardhuin
4c1f4d14e1
fix some formatting issues (#28809)
* fix some formatting issues

* address review comments

* fix indent
2019-03-06 09:37:32 +01: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
jslavitz
47724f97fa
Breaks the moveBy call from drag and dragFrom into two separate calls and changes the default behavior of DragStartBehavior to DragStartBehavior.start (#26438)
* Breaking change which sets the default DragStartBehavior to DragStartBehavior.start and changes WidgetTester.drag and WidgetTester.dragFrom by breaking the moveBy function call into multiple pieces.
2019-02-25 14:15:31 -08:00
Alexandre Ardhuin
5169ab5974
format parameter list (#27261) 2019-02-21 09:27:07 +01:00
Jonah Williams
3205736fcf
add ui.Window fallback to TestViewConfiguration (#27987) 2019-02-14 22:49:49 -08:00
Matt Carroll
a13fdbcf32
Implemented Dark Mode for Android (#25525) (#26605) 2019-02-06 16:52:47 -08:00
Matt Carroll
914f77f88f
Bugfix: Add platformBrightness to TestWindow. (#27569)
* Bugfix: Add platformBrightness to TestWindow.

* Manual engine roll:

cc27cafb8 Implemented Dark Mode for Android (#25525) ([flutter/engine#7488](https://github.com/flutter/engine/pull/7488))
9c05cbcfb Roll src/third_party/dart b53dceadaa..5823be65af (5 commits) 5823be65af [vm/compiler] Continued graph checker development (reland) 8231cdb7a3 [gardening] Update status for issue 35854 db7f848632 [vm] Remove dead BigInt code. 35ab1755f4 Support more type propagation for code-as-ui features 569ee07f91 [vm] Cleanup class finalization checks
ec5e6f6ef Ensure dart2js and kernel worker snapshots are copied out of gen dir ([flutter/engine#7692](https://github.com/flutter/engine/pull/7692))
8b5fa65c4 Roll src/third_party/skia 50ea3c06b80f..2d35a1c87553 (6 commits) ([flutter/engine#7693](https://github.com/flutter/engine/pull/7693))
2019-02-05 15:52:22 -08:00
Matt Carroll
92125ed38f
Enable dependency injection of Window instead of using static property (#27389) 2019-02-04 16:46:04 -08:00
jslavitz
cf4fc966f4
Transition Curve Fix (#25488)
* Changes Cupertino page transition curves to make paging animations more similar to those of native iOS
2019-01-22 12:46:39 -08:00
Michael Goderbauer
e4c8f1b993
3D SemanticsTree (#25670) 2019-01-16 10:29:00 -08:00
Michael Goderbauer
e8bfa81b70
Roll engine to 5983e34a3c0e1217da7e8bbe9f2fe685048fe259 (#26596) 2019-01-15 19:00:05 -08:00
Alexandre Ardhuin
32d65fef1c
fix some formatting issues (#25474) 2018-12-18 10:05:12 +01: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
Gary Qian
bdc3dda5f2
Add support for text shadows and roll engine (26 commits) (#22449)
* Add support for shadows in text.

* Use dart:ui Shadow as base class for Shadows

* Update lerp definition

* Roll engine 3ffa3629523..84fe4a9f7e24e4 - Text Shadows and update goldens for skia roll.

git log 50c2e69daff4e207c54e463d2304139985c7511c..32f417db0d566d354605305cb29c251276fa65ee --oneline --no-merges
32f417db0 Roll tonic to 077be256142ede39a271385907faadf4fcc62a4d. (#6541)
4ee77256c Revert "Roll Dart to 1f4dfce179c8f05c9e48759300a15e671b88cc10 (#6515)" (#6537)
964acafeb Roll src/third_party/skia 646d917d3c71..c6a17104ad68 (1 commits) (#6536)
d4bae4ca4 Roll src/third_party/skia 2b2c00f6ec36..646d917d3c71 (1 commits) (#6535)
ff93ccf47 Roll src/third_party/skia 681692726fc0..2b2c00f6ec36 (1 commits) (#6534)
a4161c895 Roll src/third_party/skia 23775a2e9736..681692726fc0 (1 commits) (#6532)
116072e46 Roll src/third_party/skia 7435f2553f53..23775a2e9736 (1 commits) (#6531)
ef0b0f6e9 Roll src/third_party/skia bc7a51e79c5b..7435f2553f53 (1 commits) (#6530)
f46b7b971 Roll src/third_party/skia b28db529c866..bc7a51e79c5b (1 commits) (#6529)
9033c3902 Roll src/third_party/skia 7e67041a1428..b28db529c866 (1 commits) (#6528)
e6887a412 Add missing imports for unicode/utf16.h (#6524)
1242f6dfe Roll src/third_party/skia d38382d060ca..7e67041a1428 (2 commits) (#6527)
a1bbea77c Add a no-op platform view layer. (#6505)
2bb3afad8 Roll src/third_party/skia 21bd60daa3f3..d38382d060ca (10 commits) (#6526)
75e875240 Fix the Mac embedder build (#6525)
436f9707b Add version check for dismissable (#6522)
7767c785b Provide a default GL function resolver in the embedder (#6523)
32841dd89 Case-insensitive matching of family names for custom fonts (#6519)
a9076c7e6 Roll src/third_party/skia 419709dbb167..21bd60daa3f3 (11 commits) (#6520)
f2e7441b5 An API for loading fonts from a buffer provided by the application (#6508)
05aac0f27 fix ResourceExtractor npe. (#6461)
cf5a2a145 Roll src/third_party/skia b27a9cf2f4a8..419709dbb167 (16 commits) (#6517)
84fe4a9f7 Re-revert invalid line height tests (#6516)
5f529566c Add support for text shadows (#6385)
e44c10c96 Reland "Share engine layers with the framework" (#6412) (#6468)
ba0449971 Roll Dart to 1f4dfce179c8f05c9e48759300a15e671b88cc10 (#6515)
2018-10-15 15:03:02 -07:00
Jonah Williams
313059cdb6
Add labeled tappable target guideline and gallery tests (#22824) 2018-10-11 15:05:10 -07: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
fb7a5937ba
Basic scroll semantics support (#21764) 2018-10-09 14:16:28 -07: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
Dan Field
ea5435c2ef
Widgets app refactor (#22269)
* Refactor of cupertino/material/widgets app

* update docs 

* Update tests for const
2018-09-25 13:57:12 -04:00
Dan Field
a52bd81560
Revert "Refactor of cupertino/material/widgets app (#22161)" (#22249)
This reverts commit 61cf946ba8.
2018-09-25 00:25:50 -04:00
Dan Field
61cf946ba8
Refactor of cupertino/material/widgets app (#22161)
* Make CupertinoApp and MaterialApp both use WidgetsApp for Navigator

* Make CupertinoApp and MaterialApp const constructors

* Make WidgetsApp routes aware

* Update tests
2018-09-24 23:55:03 -04:00
Jonah Williams
8e70421913
Revert "Add RichText support to find.text" (#22046) 2018-09-19 13:51:35 -07:00
Jonah Williams
ff1f8dd143
Add RichText support to find.text (#21964) 2018-09-19 10:01:34 -07:00
Jacob Richman
ccd070a5b4
Add back screenshot extension that was temporarily disabled. (#21828)
Add back screenshot extension that was temporarily disabled.

Add matchesReferenceImage matcher to test that the screenshot extension
generates equivalent images to InspectorService.instance.screenshot.
2018-09-18 09:32:39 -04: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
Jonah Williams
fa0a857d02
Add material tap target size and text contrast test to gallery (#21581) 2018-09-11 08:27:32 -07:00
Alexandre Ardhuin
774ca2f197
enable lint avoid_void_async (#21652) 2018-09-11 07:14:04 +02:00
Ian Hickson
53b635817c
Re-enable missing_return (#20844) 2018-08-28 11:22:57 -07:00
Ian Hickson
8c79f40d71
Fixes resulting from audit of issues links (#20772)
* Fixes resulting from audit of issues links

I looked at every link to GitHub in our repo. For cases where we had a TODO that was waiting for a bug to be fixed, and the bug has now been fixed, I applied the pending change. For cases where the link was out of date, I updated the link.

* Update run_test.dart

skip this test again since it failed on linux and macos bots
2018-08-18 16:44:39 -07:00
xster
0f4ea504bc
Correctly chain finders to ancestor/descendant finders (#20601) 2018-08-15 17:24:03 -07:00
Jonah Williams
d3e482eca3
Add tests/matchers for automatic accessibility testing (#20462)
\
2018-08-15 12:13:10 -07:00
Ian Hickson
686d8f8a22 Shim package:test to avoid matcher issues (#20602)
* Upgrade everything except matcher.
* Roll matcher (and test)
* Adjust tests that depend on flutter:test directly to depend on a shim
* Require use of package:test shim and remove other references to package:test
2018-08-14 20:33:58 -07:00
Jonah Williams
33c4cd0f39
Add semantics to cupertino slider (#20476) 2018-08-13 23:43:49 -07:00
liyuqian
57d8930d5b
Roll engine to 7f083e54fe75 (#20310)
* Roll engine to 7f083e54fe75

7f083e54f Don't implicitly fall through in switch statement (flutter/engine#5964)
c7ce6dd69 Apply translation to accessibility tree when in landscape (flutter/engine#5950)
aef94b73d Reland "Updated background execution implementation for Android" (flutter/engine#5954)
3421bca7a Roll src/third_party/skia 36216fb0acbc..177742435e52 (15 commits) (flutter/engine#5963)
9d1e67399 Temporarily add travis/analyze.sh back for Chrome bot (flutter/engine#5961)
4386afdaa Roll src/third_party/skia e6d0618f677c..36216fb0acbc (11 commits) (flutter/engine#5960)
7cef3da03 Roll src/third_party/skia 01d9a344b575..e6d0618f677c (1 commits) (flutter/engine#5958)
ad82cb154 Roll src/third_party/skia fdf05f4ff4e9..01d9a344b575 (1 commits) (flutter/engine#5957)
6ea410cfe Revert "Roll Dart to 17b54c76ce9b945c6f013ad08c19268409c0694a (flutter/engine#5955)" (#5956)
f20c58f65 Roll Dart to 17b54c76ce9b945c6f013ad08c19268409c0694a (flutter/engine#5955)
ed1938e99 Roll src/third_party/skia 641ac7daa81c..fdf05f4ff4e9 (3 commits) (flutter/engine#5953)
5f04e00d7 Remove travis directory (flutter/engine#5935)
5442c0a7d Revert "Updated background execution implementation for Android" (flutter/engine#5949)
a5215ce50 Add hasImplicitScrolling SemanticFlag and support in Android bridge (flutter/engine#5941)
4681351af Roll src/third_party/skia 6e487e67a3f3..641ac7daa81c (16 commits) (flutter/engine#5948)
bc885f319 Updated background execution implementation for Android
5770cbd2a Roll src/third_party/skia 12fb9cfeee07..6e487e67a3f3 (8 commits) (flutter/engine#5946)
f4464a8d9 Roll src/third_party/skia 2e77f54f46e8..12fb9cfeee07 (1 commits) (flutter/engine#5945)
c6baaaf75 Replace acquire+release thread annotation with excludes (flutter/engine#5944)
63ede2e35 Roll src/third_party/skia 59aabbcf3b0d..2e77f54f46e8 (1 commits) (flutter/engine#5943)
97aea093e Roll src/third_party/skia 71fe8baccc01..59aabbcf3b0d (1 commits) (flutter/engine#5942)
aaf4a9a24 Roll src/third_party/skia 4c3b63e289c5..71fe8baccc01 (3 commits) (flutter/engine#5940)

* Sync framework changes
2018-08-07 16:10:29 -07:00
Jonah Williams
4a7b4a4dde
increase size of user account drawer headers to 48 by 48 (#20266) 2018-08-06 13:56:15 -07:00
Jonah Williams
1f7082dbd8
remove const (#20151) 2018-08-02 10:37:17 -07:00
Jonah Williams
55c7e6e3f8
Support customizing standard accessibility action hints on Android. (#19665) 2018-08-02 10:20:47 -07:00
Alexandre Ardhuin
eda03e2586
re-re-enable lint unnecessary_const (#20103) 2018-08-02 12:02:32 +02:00
Jonah Williams
7ba2a84af1
roll engine to 91ff524e63298a2d0e15c2a0d47e0a005524c51c (#20055) 2018-07-31 18:15:37 -07:00
Todd Volkert
00aac68e2d
Revert flutter/flutter#19592 (#19861)
It was causing problems rolling Flutter into Fuchsia
2018-07-27 08:44:39 -07:00
Alexandre Ardhuin
27018359d2
re-enable lint unnecessary_const (#19592)
* re-enable lint unnecessary_const

* remove trailling whitespaces

* remove unnecessary const (after merge)
2018-07-23 08:31:48 +02:00
Jonah Williams
e154298e0b
Roll engine to 96f5f5b96c7220ffc8c4ce22ed895616a15ad3a0 (#19615) 2018-07-21 00:45:16 -07:00
Greg Spencer
1cc036519c
Removes trailing whitespace from source files. (#19329) 2018-07-19 23:03:58 -07:00
Ian Hickson
f630f90d6d
Revert "enable lint unnecessary_const (#19342)" (#19423)
This reverts commit cc1cf13eec.
2018-07-16 13:30:27 -07:00
Alexandre Ardhuin
cc1cf13eec
enable lint unnecessary_const (#19342) 2018-07-16 21:43:48 +02:00
Jonah Williams
8359d99e48
have text finder convert Text.rich to plain text for comparison (#19270) 2018-07-13 13:00:58 -07:00
Jonah Williams
579d2fba99
Roll engine to c5a63d (#19288) 2018-07-13 10:35:23 -07:00
Jonah Williams
41646c9579
Add new matcher and utility methods for testing semanics (#19046) 2018-07-09 15:21:46 -07:00
matthew-carroll
2a65505e8a
Support all keyboard actions. (#11344) (#18855)
* Support all keyboard actions. (#11344)
2018-07-02 06:58:35 +00: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
Greg Spencer
08d1ec36de Roll engine to 0c119932c0d6cb30dafd75ec717d1eda76fd7651 (#18575) 2018-06-19 09:58:20 +02:00
Alexandre Ardhuin
09276bea25
enable lint prefer_equal_for_default_values (#18156) 2018-06-05 08:50:40 +02:00
Todd Volkert
1808ac338c
Add support for custom test error reporters (#17727)
This allows test environments other than `flutter test` to have a hook
into the test exception reporting. Some test environments, for example,
don't just dump error details to the console, but rather require them
to be reported to a separate server.
2018-05-18 13:58:08 -07:00
Devon Carew
d427d26d1b
Unpin analyzer - no longer use the version from the sdk (#17479)
* no longer use the analyzer version shipped in the sdk

* update all package versions to the latest
2018-05-10 13:31:54 -07:00
Todd Volkert
21c2e47f29
Add test of expectAsync.skip (#17415) 2018-05-08 23:23:34 -07:00
Todd Volkert
2ba0deb77a
Make runAsync() run in child zone, not root zone (#17359)
Some APIs (such as the ones in package:test) assume you're running
in a child zone of the test zone by attempting to extract information
from the zone values. When we run runAsync() in the root zone, those
zone values are lost, and such API methods don't work.

The solution is to run in a child zone, but with a specification that
says to use the Root zone for task scheduling (both timers and
microtakss).
2018-05-07 18:33:44 -07:00
Todd Volkert
52e4605677
Golden file fixes (#17299)
1. Make goldenFileComparator getter return `null` if it's set to the
   uninitialized comparator, which matches the behavior of the setter
   (it sets it to the uninitialized comparator if the caller specifies
   `null`).
2. Make the uninitialized comparator return trivial success (and print
   a message) when asked to compare as opposed to throwing. This ensures
   that the comparator will play nicely with live widget bindings
3. Augment documentation
4. Add assert that test doesn't modify the value of `autoUpdateGoldenFiles`
2018-05-07 11:33:41 -07:00
Todd Volkert
be09a200ee
Expose generateTestBootstrap() as public API in test harness (#17290)
This will allow external tools that wrap our test harness to share the
code that generates the test bootstrap.

This change exposed an issue whereby the LocalGoldenFileComparator
was being too strict in its URI handling, so this changes relaxes
that constraint as well (and adds associated tests).
2018-05-04 10:31:53 -07:00
Todd Volkert
65079ad5f2
Add Flutter-repo-specific golden comparator (#17205)
In order to avoid checking binaries into flutter/flutter,
this comparator can be used to retrieve golden files from
a sibling flutter/goldens repository.

https://github.com/flutter/flutter/issues/16859
2018-05-03 07:39:41 -07:00
Todd Volkert
28c1973340
Add support for flutter_test_config.dart (#17141)
This enables support for a `flutter_test_config.dart` configuration file,
which will be discovered and handed the responsibility of running the
test file (thus allowing it to run pre-test setup on a project level).

https://github.com/flutter/flutter/issues/16859
2018-05-01 12:36:22 -07:00
Todd Volkert
e19db89a0e
Add basic support for golden image file testing (#17094)
* Add a `matchesGoldenFile()` async matcher that will match
  a finder's widget's rasterized image against a golden file.
* Add support for pluggable image comparison backends
* Add a default backend that does simplistic PNG byte
  comparison on locally stored golden files.
* Add support for `flutter test --update-goldens`, which will
  treat the rasterized image bytes produced during the test
  as the new golden bytes and update the golden file accordingly

Still TODO:

* Add support for the `flutter_test_config.dart` test config hook
* Utilize `flutter_test_config.dart` in `packages/flutter/test`
  to install a backend that retrieves golden files from a dedicated
  `flutter/goldens` repo

https://github.com/flutter/flutter/issues/16859
2018-04-30 10:35:56 -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
973742fe96
[flutter_test] more docs, tests for within; simpler _sizeDistance (#15084)
Document missing value types supported by `within`. Add missing tests. Simplify _sizeDistance implementation.
2018-03-02 15:44:58 -08:00
amirh
0da6bad656
add a matcher for area covered by paths (#14469) 2018-02-06 09:13:51 -08:00
Alexandre Ardhuin
3c379aaf43
whitespace cleanup (#14458) 2018-02-05 22:20:21 +01:00
Alexandre Ardhuin
841d5d7bd5
prefer_const_declarations on local variables (#14358) 2018-02-01 07:51:26 +01:00
Alexandre Ardhuin
0fe1e5bf5b
apply upcoming lint prefer_const_literals_to_create_immutables (#14029) 2018-01-11 08:38:55 +01:00
Hans Muller
83134cd39f
Added find.ancestor to CommonFinders (#13691) 2017-12-20 15:03:58 -08:00
Yegor
a75f003b9c
add within matcher for comparing metric-space values (#12908) 2017-11-08 13:36:16 -08:00
Ian Hickson
8fd20b5deb
Text Painting Fuzzer (#12813)
Various improvements (in particular a new painting fuzzer) to the text manual test.

Some additional documentation.

A fix to Stack to remove an LTR bias: make unpositioned children apply "alignment".

Some more debugging information on RichText and Text.

A fix to the flutter tool to not crash when an RPC call throws an exception.
2017-11-01 15:04:43 -07:00
Alexandre Ardhuin
1fce14a31c enable lint prefer_single_quotes (#12665) 2017-10-22 18:11:36 +02:00
Adam Barth
0044ea2dbb Replace usage of FractionalOffset with Alignment (#12348)
Alignment will eventually replace FractionalOffset.
2017-10-02 00:06:24 -07:00
Yegor
ba5b5e7f6f only tap on widgets reachable by hit testing (#11767)
* only tap on widgets reachable by hit testing

* use FractionalOffset

* added tests

* check finder finds correct widget

* undo unintentional changes

* address comments

* style fix

* add Directionality in test

* fix analysis warning
2017-09-11 09:46:42 -07:00
Jacob Richman
0229711ba1 Refactor SemanticsData and SemanticsNode to use Diagnosticable. (#11957)
* Refactor SemanticsData and SemanticsNode to use Diagnosticable.

* Switch toStringDeep to take named parameters.
2017-09-11 09:25:58 -07:00
Ian Hickson
ca7d2d23cf TextPainter RTL (#11888) 2017-09-07 16:57:38 -07:00
Ian Hickson
f235a2c104 RTL: Padding, Flex (#11709)
* Introduce a Directionality inherited widget which sets the ambient LTR vs RTL mode (defaulting to null, which means you cannot use directionality-influenced values).

* Make it possible to configure Padding (including Container.padding and Container.margin) using a directionality-agnostic EdgeInsets variant.

* Provide textDirection and verticalDirection controls on Row and Column to make them RTL-aware.

* Introduce a variant of FractionalOffset based on the EdgeInsets variant. Not yet actually used.

* Fix all the tests that depended on Row defaulting to LTR.
2017-08-28 12:50:24 -07:00
Jacob Richman
8f07a5864b Add hasAGoodToStringDeep and equalsIgnoringHashCodes methods. (#10935)
* Add hasAGoodToStringDeep and equalsIgnoringHashCodes methods.

Methods simplify testing of toStringDeep calls and other cases where
methods return strings containing hash codes.
2017-06-23 14:07:09 -07:00
Hans Muller
80a8c5629e WidgetTester enterText() and showKeyboard() can specify an EditableText ancestor (#9398) 2017-04-14 15:41:30 -07:00
Ian Hickson
3eb87830e9 Constants! Constants everywhere! (#9286)
Aggressively apply the const lint.
2017-04-07 12:24:32 -07:00
Ian Hickson
e355c60124 Add a timeout to pumpAndSettle. (#9195) 2017-04-05 12:27:42 -07:00
Ian Hickson
d709f18cd2 Do not swallow exceptions in guarded functions. (#9064) 2017-03-30 09:50:30 -07:00
Adam Barth
142922deb4 Add WidgetTester.hasRunningAnimation (#8886)
Fixes #4017
2017-03-20 13:32:00 -07:00
Ian Hickson
8eac6cd0da Test API improvements: pumpAndSettle, autogenerate pointer IDs (#8751) 2017-03-13 16:27:15 -07:00
Chris Bracken
895f3e6350 Declare locals final where not reassigned (flutter_test) (#8569) 2017-03-03 17:51:01 -08:00
Phil Quitslund
a002e72022 Bump to test 0.12.20. (#8349)
* Bump to test `0.12.20`.

Some test `0.12.20` highlights:
  * introduces `expectLater()`  that returns a `Future` that completes when the matcher has finished running
  * deprecates the `verbose` parameter to `expect()` and the `formatFailure()` (to be removed in `0.13.0`)

Otherwise:
  * to keep up w/ the deprecation of `verbose`, removes `widget_tester` API to pass `verbose` flag (alternatively we could suppress the warning for now)

* Update stack manipulation.

* Fix framecount.
2017-02-23 15:08:25 -08:00
zhenqiu1101
47666af54c Add find.descendant API to support find descendants of an element by passing the current element finder and the finder of descendant. (#7944)
* Add find.descendant API to support find descendants of an element by passing the current element and the finder of descendant.

* Add find.descendant API to support find descendants of an element by passing the current element finder and the finder of descendant.

* Add find.descendant API to support find descendants of an element by passing the current element finder and the finder of descendant.

* Add find.descendant API to support find descendants of an element by passing the current element finder and the finder of descendant.

* Add find.descendant API to support find descendants of an element by passing the current element finder and the finder of descendant.

* Add find.descendant API to support find descendants of an element by passing the current element finder and the finder of descendant.

* Add find.descendant API to support find descendants of an element by passing the current element finder and the finder of descendant.

* Add find.descendant API to support find descendants of an element by passing the current element finder and the finder of descendant.

* Add find.descendant API to support find descendants of an element by passing the current element finder and the finder of descendant.

* Add find.descendant API to support find descendants of an element by passing the current element finder and the finder of descendant.

* Add find.descendant API to support find descendants of an element by passing the current element finder and the finder of descendant.
2017-02-07 14:46:29 -08:00
Ian Hickson
79c8e5c7c7 Add a toString to Simulation (#7364)
Also, make hasOneLineDescription more discerning.
Also, add a test for hasOneLineDescription.
Also, add a test for GravitySimulation, to test the toString.
2017-01-05 16:33:40 -08:00
Ian Hickson
e08c3c3bdc moreOrLessEquals matcher for floating point numbers (#7358)
```dart
expect(x, moreOrLessEquals(0.0));
```

...for those cases where `x` might be 1e-11 or whatever.

Also, be more resilient when dumping the tree from inside the test framework.
Also, add an assert that helped me debug something the other day.
2017-01-05 14:51:01 -08:00
Yegor
995fcdc92b add description to by-predicate finders (#6362)
Add an option to provide a custom description to predicate
finders. Without a custom description we default to printing the
predicate function's signature, which is not all that useful.

Use this new option in the driver extension to print the text of the
sought after tooltip.
2016-10-17 17:16:22 -07:00
Ian Hickson
9e673853e5 Turn off AnimationControllers when not in use (#5902)
This requires all AnimationController objects to be given a
TickerProvider, a class that can create the Ticker.

It also provides some nice mixins for people who want to have their
State provide a TickerProvider. And a schedulerTickerProvider for those
cases where you just want to see your battery burn.

Also, we now enforce destruction order for elements.
2016-09-26 10:57:10 -07:00
Ian Hickson
1152fd60f6 Adds tester.pumpUntilNoTransientCallbacks (#5696)
Fixes https://github.com/flutter/flutter/issues/5234
2016-09-01 12:42:38 -07:00
Ian Hickson
ea6bf4706a Fix the losing of state when pushing opaque routes (#5624)
Fixes https://github.com/flutter/flutter/issues/5283

Other changes in this patch:

Rename OffStage to Offstage.
Fixes https://github.com/flutter/flutter/issues/5378

Add a lot of docs.

Some minor punctuation and whitespace fixes.
2016-08-29 11:28:37 -07:00
pq
3e9067a4ec Dead code and switch cleanup (continued).
Prep to get us ready to pull in a new dev SDK and bump our analyzer DEP.

* updates `crypto` (required by fresh analyzer)
* fixes newly flagged dead code warnings
* fixes switches that fall through and don't return
2016-06-16 09:45:37 -07:00
Adam Barth
b1b6271683 Use "call" instead of "invoke" (#4177)
For consistency.

Fixes #4142
2016-05-24 17:53:04 -07:00
Ian Hickson
ef563c485e Handle stack traces that don't give column numbers (#4016) 2016-05-18 12:34:43 -07:00
Ian Hickson
f284c1a049 Fix tests (#3977)
Also, make sure that broken tests actually break the bots.

And add a test to make sure that keeps happening.
2016-05-17 12:45:37 -07:00
Ian Hickson
3252701753 Make it possible to run tests live on a device (#3936)
This makes it possible to substitute 'flutter run' for 'flutter test'
and actually watch a test run on a device.

For any test that depends on flutter_test:

1. Remove any import of 'package:test/test.dart'.

2. Replace `testWidgets('...', (WidgetTester tester) {`
      with `testWidgets('...', (WidgetTester tester) async {`

3. Add an "await" in front of calls to any of the following:
    * tap()
    * tapAt()
    * fling()
    * flingFrom()
    * scroll()
    * scrollAt()
    * pump()
    * pumpWidget()

4. Replace any calls to `tester.flushMicrotasks()` with calls to
   `await tester.idle()`.

There's a guarding API that you can use, if you have particularly
complicated tests, to get better error messages. Search for
TestAsyncUtils.
2016-05-16 12:53:13 -07:00
Ian Hickson
91dd969966 Refactor the test framework (#3622)
* Refactor widget test framework

Instead of:

```dart
  test("Card Collection smoke test", () {
    testWidgets((WidgetTester tester) {
```

...you now say:

```dart
  testWidgets("Card Collection smoke test", (WidgetTester tester) {
```

Instead of:

```dart
  expect(tester, hasWidget(find.text('hello')));
```

...you now say:

```dart
  expect(find.text('hello'), findsOneWidget);
```

Instead of the previous API (exists, widgets, widget, stateOf,
elementOf, etc), you now have the following comprehensive API. All these
are functions that take a Finder, except the all* properties.

* `any()` - true if anything matches, c.f. `Iterable.any`
* `allWidgets` - all the widgets in the tree
* `widget()` - the one and only widget that matches the finder
* `firstWidget()` - the first widget that matches the finder
* `allElements` - all the elements in the tree
* `element()` - the one and only element that matches the finder
* `firstElement()` - the first element that matches the finder
* `allStates` - all the `State`s in the tree
* `state()` - the one and only state that matches the finder
* `firstState()` - the first state that matches the finder
* `allRenderObjects` - all the render objects in the tree
* `renderObject()` - the one and only render object that matches the finder
* `firstRenderObject()` - the first render object that matches the finder

There's also `layers' which returns the list of current layers.

`tap`, `fling`, getCenter, getSize, etc, take Finders, like the APIs
above, and expect there to only be one matching widget.

The finders are:

 * `find.text(String text)`
 * `find.widgetWithText(Type widgetType, String text)`
 * `find.byKey(Key key)`
 * `find.byType(Type type)`
 * `find.byElementType(Type type)`
 * `find.byConfig(Widget config)`
 * `find.byWidgetPredicate(WidgetPredicate predicate)`
 * `find.byElementPredicate(ElementPredicate predicate)`

The matchers (for `expect`) are:

 * `findsNothing`
 * `findsWidgets`
 * `findsOneWidget`
 * `findsNWidgets(n)`
 * `isOnStage`
 * `isOffStage`
 * `isInCard`
 * `isNotInCard`

Benchmarks now use benchmarkWidgets instead of testWidgets.

Also, for those of you using mockers, `serviceMocker` now automatically
handles the binding initialization.

This patch also:

* changes how tests are run so that we can more easily swap the logic
  out for a "real" mode instead of FakeAsync.

* introduces CachingIterable.

* changes how flutter_driver interacts with the widget tree to use the
  aforementioned new API rather than ElementTreeTester, which is gone.

* removes ElementTreeTester.

* changes the semantics of a test for scrollables because we couldn't
  convince ourselves that the old semantics made sense; it only worked
  before because flushing the microtasks after every event was broken.

* fixes the flushing of microtasks after every event.

* Reindent the tests

* Fix review comments
2016-04-29 13:23:27 -07:00
Hans Muller
22e8d85d16 Enhance Finder toString() (#3458)
* Enhance Finder toString()
2016-04-21 12:13:51 -07:00
Yegor
f3a4f722c4 [flutter_test] new WidgetTester API based on finder objects (#3288) 2016-04-13 23:40:15 -07:00