Commit Graph

139 Commits

Author SHA1 Message Date
Hans Muller
a0099a9016
Make gallery tests more robust (#15957) 2018-03-27 13:39:30 -07:00
Jason Simmons
466d15433f
Use Dart 2 camel case constants (#15360) 2018-03-12 11:06:32 -07:00
Josh Soref
c5a5945e92 Spelling (#15229)
* spelling: accommodate

* spelling: allotted

* spelling: anonymous

* spelling: artificial

* spelling: associated

* spelling: asset

* spelling: button

* spelling: canvas

* spelling: compatibility

* spelling: coverage

* spelling: condition

* spelling: decoration

* spelling: deferring

* spelling: diameter

* spelling: direction

* spelling: displacement

* spelling: dropdown

* spelling: needing

* spelling: environment

* spelling: exited

* spelling: expansion

* spelling: explore

* spelling: families

* spelling: horizontal

* spelling: increment

* spelling: indices

* spelling: internationalization

* spelling: labrador

* spelling: localizations

* spelling: midflight

* spelling: milliseconds

* spelling: minimum

* spelling: multiple

* spelling: multiplication

* spelling: navigator

* spelling: overridden

* spelling: package

* spelling: performance

* spelling: platform

* spelling: porsche

* spelling: position

* spelling: preceded

* spelling: precede

* spelling: precedence

* spelling: print

* spelling: property

* spelling: readily

* spelling: reproducibility

* spelling: rounded

* spelling: scroll

* spelling: separate

* spelling: separator

* spelling: services

* spelling: specific

* spelling: specify

* spelling: synchronously

* spelling: through

* spelling: timeout

* spelling: triangle

* spelling: trivial

* spelling: unusual

* spelling: then

* spelling: vertically

* spelling: visible

* spelling: visited

* spelling: voice
2018-03-06 21:36:03 -08:00
Vyacheslav Egorov
aa7e9637ac
Fix several Dart 2 issues in the flutter_driver. (#14749)
* All lists produced by JSON parsing are List<dynamic>. If more
speficic type is required then they need to be explicitly cast, e.g.
using castFrom helper;
* Function of type (ByText) -> Finder is not a subtype of
(SerializableFinder) -> Finder because ByText is in the contravariant
position;
* In Dart 2 typed(any) should be used instead of any in mockito based
tests.
2018-02-16 18:01:54 +01:00
Alexandre Ardhuin
3c379aaf43
whitespace cleanup (#14458) 2018-02-05 22:20:21 +01:00
Alexandre Ardhuin
c02b6a8bcf
some whitespace cleanup (#14443) 2018-02-02 23:27:29 +01:00
Alexandre Ardhuin
10f721c8a5
use const instead of final with const declarations (#14253) 2018-01-25 19:28:22 +01:00
Ian Hickson
44e228eb9e
Move image logic from services/ to painting/. (#13409)
This allows the scheduler library to depend on the services library
and the painting library to depend on the scheduler library without
the services library having to depend on the scheduler library.

While I was at it I also cleaned up some of the binding logic: the
licenses logic can now be overridden (and the test library does so),
and the image cache can now be overridden as well.
2017-12-07 14:53:08 -08:00
Yegor
5f7ef89675
more setTextEntryEmulation docs; isRegistered check (#13420) 2017-12-07 12:08:52 -08:00
Yegor
d1e918fa10
support disabling text entry emulation (#13410) 2017-12-06 19:59:07 -08:00
Yegor
e27bcd0f9d
Emulate text entry in FlutterDriver (#13373)
* Emulate text entry in FlutterDriver

* document enterText behavior

* remove the unnecessary composint TextRange
2017-12-06 17:29:37 -08:00
Chris Bracken
cf37a4721a
Reorganise flutter driver implementation sources (#13163)
This patch reorganises flutter_driver's lib/src directory into three
subdirectories:

* driver: sources transitively imported/exported by flutter_driver.dart,
  which defines the API used by driver tests executed on the host machine.

* extension: sources transitively imported/exported by
  driver_extension.dart, which defines the API used to instrument a
  Flutter app running on the target device for use with a driver test.

* common: sources common to both driver and extension code.

This makes rolling Flutter into repositories that use Bazel (or
Bazel-like build systems) significantly more robust, due to the simpler
glob patterns involved.
2017-11-22 17:24:41 -08:00
Chris Bracken
d9bdb76fd2
Eliminate unused retry.dart from flutter_driver (#13161) 2017-11-22 16:54:19 -08:00
Chris Bracken
d5cb9781e1
Eliminate unused matcher_util in flutter_driver (#13159)
Use of this file was eliminated in e7657b9462.
2017-11-22 15:15:37 -08:00
Yegor
8c902ad479
clear timeline events prior to starting a new action (#12984)
* clear timeline events prior to starting a new action

* trailing commas
2017-11-22 15:08:09 -08:00
Chris Bracken
14b5cb047e
Use duration not threadDuration for frame duration (#13117)
1. We want to measure wall-clock duration for the benchmarks, as opposed
   to thread duration (e.g., waiting on a mutex should accrue time) and
   'dur' is the metric to use for that.

2. On Darwin-based systems (macOS and iOS) 'tdur' is the result of a
   mach syscall lookup to thread_info. This call returns unreliable data
   on iOS. Chromium, for example, disables thread time support entirely
   for iOS.
2017-11-20 17:37:14 -08:00
Greg Spencer
0259be90b8
Fix spelling errors in all the dartdocs. (#13061)
I got tired of drive-by spelling fixes, so I figured I'd just take care of them all at once.

This only corrects errors in the dartdocs, not regular comments, and I skipped any sample code in the dartdocs. It doesn't touch any identifiers in the dartdocs either. No code changes, just comments.
2017-11-17 10:05:21 -08:00
Alexandre Ardhuin
15601fe55c
Enable lint prefer asserts in initializer lists (#12903)
* enable lint prefer_asserts_in_initializer_lists

* enable --assert-initializer
2017-11-08 22:59:49 +01:00
Todd Volkert
16c363ac07
Clarify docs in FlutterDriver.requestData() (#12909) 2017-11-07 14:43:41 -08:00
Yegor
91bd9bc4f8
delay taking screenshot to allow GPU thread to render the frame (#12896)
* delay taking screenshot to allow GPU thread to render the frame

* address comments
2017-11-06 17:33:48 -08:00
Alexandre Ardhuin
1fce14a31c enable lint prefer_single_quotes (#12665) 2017-10-22 18:11:36 +02:00
Ian Hickson
efb45ea788 Trivial nit fixes (#12285) 2017-09-27 16:13:48 -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
Carlo Bernaschina
a8aff38811 Add log to understand flakiness of commands_test (#11720)
The flakiness of commands_test is generally visible via:

```
drive:stdout:   Expected: 'log: paint'
drive:stdout:     Actual: ''
drive:stdout:      Which: is different. Both strings start the same, but the actual value is missing the following trailing characters: log: paint ...
```

By returning the name of the test we will be able to understand if
another test is running by reading the `Actual` value
2017-08-22 09:54:51 -07:00
Carlo Bernaschina
6643db0106 Add documentation to waitForServiceExtension (#11708)
Addresses
3b4687bf69 (r134325222)
2017-08-21 14:16:30 -07:00
Carlo Bernaschina
937b98e1b9 Fix flakiness of commands_test (#11705)
- Wait for full Hot Reload
- Wait for full Restart
- Fallback if checkHealth throws METHOD_NOT_FOUND.
  We try to wait for the service extensions to be registered and retry.
2017-08-21 13:21:00 -07:00
Ian Hickson
ae5c3d5f89 Revert "Revert "Always evaluate the finder in driver.waitFor*()" (#11451)" (#11462)
This reverts commit 5d9db106db.
2017-08-01 14:23:44 -07:00
Ian Hickson
5d9db106db Revert "Always evaluate the finder in driver.waitFor*()" (#11451)
* Revert "Make plugins add their repos to projects in the consuming app (#11447)"

This reverts commit abe1e2520b.

* Revert "Support for custom build types on Android (#11354)"

This reverts commit 87eec719e2.

* Revert "add a profile() method (#11443)"

This reverts commit 561d17a876.

* Revert "Fix documentation based on dartdoc's warnings (#11428)"

This reverts commit 6655074b37.

* Revert "Improve some docs around WillPopScope. (#11429)"

This reverts commit 58a28a2965.

* Revert "temporarily disable broken driver test in integration_ui (#11440)"

This reverts commit 764515ec78.

* Revert "style fix"

This reverts commit 00bfc86630.

* Revert "tests for waitFor/waitForAbsent"

This reverts commit 31d2ee9c0c.

* Revert "Always evaluate the finder in `driver.waitFor()` and `driver.waitForAbsent()`"

This reverts commit 11d7c79b99.
2017-08-01 10:39:08 -07:00
Ian Hickson
6655074b37 Fix documentation based on dartdoc's warnings (#11428) 2017-07-28 15:44:38 -07:00
Todd Volkert
11d7c79b99 Always evaluate the finder in driver.waitFor() and driver.waitForAbsent()
Fixes #11327
2017-07-28 13:10:03 -07:00
Ian Hickson
8f56f6fdd1 Add documentation and clean up code. (#11330)
Mainly, this adds documentation to members that were previously
lacking documentation.

It also adds a big block of documentation about improving performance
of widgets.

This also removes some references to package:collection and adds
global setEquals and listEquals methods in foundation that we can use.
(setEquals in particular should be much faster than the
package:collection equivalent, though both should be faster as they
avoid allocating new objects.) All remaining references now qualify
the import so we know what our remaining dependencies are.

Also lots of code reordering in Flutter driver to make the code
consistent and apply the style guide more thoroughly.
2017-07-21 16:39:04 -07:00
Ian Hickson
e1adc525d8 Option to enable the performance overlay from 'flutter run'. (#11288) 2017-07-19 12:57:22 -07:00
Ian Hickson
9adb4a78a6 Deep linking: automatically push the route hiearchy on load. (#10894)
The main purpose of this PR is to make it so that when you set the
initial route and it's a hierarchical route (e.g. `/a/b/c`), it
implies multiple pushes, one for each step of the route (so in that
case, `/`, `/a`, `/a/b`, and `/a/b/c`, in that order). If any of those
routes don't exist, it falls back to '/'.

As part of doing that, I:

 * Changed the default for MaterialApp.initialRoute to honor the
   actual initial route.

 * Added a MaterialApp.onUnknownRoute for handling bad routes.

 * Added a feature to flutter_driver that allows the host test script
   and the device test app to communicate.

 * Added a test to make sure `flutter drive --route` works.
   (Hopefully that will also prove `flutter run --route` works, though
   this isn't testing the `flutter` tool's side of that. My main
   concern is over whether the engine side works.)

 * Fixed `flutter drive` to output the right target file name.

 * Changed how the stocks app represents its data, so that we can
   show a page for a stock before we know if it exists.

 * Made it possible to show a stock page that doesn't exist. It shows
   a progress indicator if we're loading the data, or else shows a
   message saying it doesn't exist.

 * Changed the pathing structure of routes in stocks to work more
   sanely.

 * Made search in the stocks app actually work (before it only worked
   if we happened to accidentally trigger a rebuild). Added a test.

 * Replaced some custom code in the stocks app with a BackButton.

 * Added a "color" feature to BackButton to support the stocks use case.

 * Spaced out the ErrorWidget text a bit more.

 * Added `RouteSettings.copyWith`, which I ended up not using.

 * Improved the error messages around routing.

While I was in some files I made a few formatting fixes, fixed some
code health issues, and also removed `flaky: true` from some devicelab
tests that have been stable for a while. Also added some documentation
here and there.
2017-06-23 14:58:29 -07:00
Michael Goderbauer
8bf17192f6 Adding first semantics perf test (#10649)
* Adding first semantics perf test

* review commnts and analyzer fixes

* fix analyzer warning
2017-06-13 12:49:07 -07:00
Ian Hickson
0f1a703a6b More documentation (#10589) 2017-06-08 17:13:03 -07:00
Chris Bracken
a0ca48c35c Revert use of const asserts in flutter_driver (#10568)
Fixes bot breakage resulting from commit
7d71326363 (#10540).
2017-06-07 14:31:52 -07:00
Alexandre Ardhuin
7d71326363 apply prefer_asserts_in_initializer_list lint (#10540) 2017-06-07 21:39:47 +02:00
Ian Hickson
6f824bcec9 More documentation (#10519) 2017-06-05 22:44:49 -07:00
Yegor
f7d62aaa9e fix driver connection flakiness (#9968) 2017-05-10 15:16:45 -07:00
Ian Hickson
127545a353 More doc fixes. (#9848) 2017-05-06 15:08:14 -07:00
Yegor
7d6e5632d7 remove unused FlutterDriver methods (#9821) 2017-05-04 18:11:05 -07:00
Alexandre Ardhuin
26c7411d66 unnecessary_override (#9540) 2017-04-22 22:58:21 +02:00
Alexandre Ardhuin
35803c2297 comprehensive list of lints (#9330)
* comprehensive list of lints
* add comments to commented out lint
* fix unnecessary_this lints
* exclude prefer_final_fields
2017-04-20 09:38:57 +02:00
Yegor
75dc033613 cancel timeout when waiting for driver extension (#9354) 2017-04-13 10:04:08 -07:00
Ian Hickson
bf017b79b3 Move Point to Offset (#9277)
* Manually fix every use of Point.x and Point.y

Some of these were moved to dx/dy, but not all.

* Manually convert uses of the old gradient API

* Remove old reference to Point.

* Mechanical changes

I applied the following at the root of the Flutter repository:

git ls-files -z | xargs -0 sed -i 's/\bPoint[.]origin\b/Offset.zero/g'
git ls-files -z | xargs -0 sed -i 's/\bPoint[.]lerp\b/Offset.lerp/g'
git ls-files -z | xargs -0 sed -i 's/\bnew Point\b/new Offset/g'
git ls-files -z | xargs -0 sed -i 's/\bconst Point\b/const Offset/g'
git ls-files -z | xargs -0 sed -i 's/\bstatic Point /static Offset /g'
git ls-files -z | xargs -0 sed -i 's/\bfinal Point /final Offset /g'
git ls-files -z | xargs -0 sed -i 's/^\( *\)Point /\1Offset /g'
git ls-files -z | xargs -0 sed -i 's/ui[.]Point\b/ui.Offset/g'
git ls-files -z | xargs -0 sed -i 's/(Point\b/(Offset/g'
git ls-files -z | xargs -0 sed -i 's/\([[{,]\) Point\b/\1 Offset/g'
git ls-files -z | xargs -0 sed -i 's/@required Point\b/@required Offset/g'
git ls-files -z | xargs -0 sed -i 's/<Point>/<Offset>/g'
git ls-files -z | xargs -0 sed -i 's/[.]toOffset()//g'
git ls-files -z | xargs -0 sed -i 's/[.]toPoint()//g'
git ls-files -z | xargs -0 sed -i 's/\bshow Point, /show /g'
git ls-files -z | xargs -0 sed -i 's/\bshow Point;/show Offset;/g'

* Mechanical changes - dartdocs

I applied the following at the root of the Flutter repository:

git ls-files -z | xargs -0 sed -i 's/\ba \[Point\]/an [Offset]/g'
git ls-files -z | xargs -0 sed -i 's/\[Point\]/[Offset]/g'

* Further improvements and a test

* Fix minor errors from rebasing...

* Roll engine
2017-04-12 15:06:12 -07:00
xster
89a7fdfc56 Rename State.config to widget everywhere (#9273)
Rename State.config to State.widget
Rename State.didUpdateConfig to State.didUpdateWidget
Renamed all State subclasses' local variables named config to something else
2017-04-10 18:32:24 -07:00
Yegor
03f5793cda increase driver timeouts; also unify the values (#9228) 2017-04-05 14:01:33 -07:00
Alexandre Ardhuin
189028a958 Separate the 'if' expression from its statement (#9177) 2017-04-04 21:45:50 +02:00
Adam Barth
ae8994860e Rationalize text input widgets (#9119)
After this patch, there are three major text input widgets:

 * EditableText. This widget is a low-level editing control that
   interacts with the IME and displays a blinking cursor.

 * TextField. This widget is a Material Design text field, with all the
   bells and whistles. It is highly configurable and can be reduced down
   to a fairly simple control by setting its `decoration` property to
   null.

 * TextFormField. This widget is a FormField that wraps a TextField.

This patch also replaces the InputValue data model for these widgets
with a Listenable TextEditingController, which is much more flexible.

Fixes #7031
2017-04-01 17:30:21 -07:00
Alexandre Ardhuin
32d09a3a11 use_rethrow_when_possible (#8985) 2017-03-23 22:06:08 +01:00