1. 07 Dec, 2017 4 commits
  2. 23 Nov, 2017 1 commit
    • Chris Bracken's avatar
      Reorganise flutter driver implementation sources (#13163) · cf37a472
      Chris Bracken authored
      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.
      cf37a472
  3. 11 Sep, 2017 1 commit
    • Yegor's avatar
      only tap on widgets reachable by hit testing (#11767) · ba5b5e7f
      Yegor authored
      * 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
      ba5b5e7f
  4. 22 Aug, 2017 1 commit
    • Carlo Bernaschina's avatar
      Add log to understand flakiness of commands_test (#11720) · a8aff388
      Carlo Bernaschina authored
      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
      a8aff388
  5. 01 Aug, 2017 2 commits
  6. 28 Jul, 2017 1 commit
  7. 21 Jul, 2017 1 commit
    • Ian Hickson's avatar
      Add documentation and clean up code. (#11330) · 8f56f6fd
      Ian Hickson authored
      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.
      8f56f6fd
  8. 19 Jul, 2017 1 commit
  9. 23 Jun, 2017 1 commit
    • Ian Hickson's avatar
      Deep linking: automatically push the route hiearchy on load. (#10894) · 9adb4a78
      Ian Hickson authored
      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.
      9adb4a78
  10. 13 Jun, 2017 1 commit
  11. 09 Jun, 2017 1 commit
  12. 05 May, 2017 1 commit
  13. 12 Apr, 2017 1 commit
    • Ian Hickson's avatar
      Move Point to Offset (#9277) · bf017b79
      Ian Hickson authored
      * 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
      bf017b79
  14. 11 Apr, 2017 1 commit
    • xster's avatar
      Rename State.config to widget everywhere (#9273) · 89a7fdfc
      xster authored
      Rename State.config to State.widget
      Rename State.didUpdateConfig to State.didUpdateWidget
      Renamed all State subclasses' local variables named config to something else
      89a7fdfc
  15. 02 Apr, 2017 1 commit
    • Adam Barth's avatar
      Rationalize text input widgets (#9119) · ae899486
      Adam Barth authored
      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
      ae899486
  16. 04 Mar, 2017 1 commit
  17. 28 Feb, 2017 1 commit
  18. 23 Feb, 2017 1 commit
  19. 17 Feb, 2017 2 commits
    • Adam Barth's avatar
      Two becomes one (#8253) · e0b12ca1
      Adam Barth authored
      Rename all the "2" classes related to scrolling to remove the "2". Now that the
      old scrolling code is gone, we don't need to use the suffix.
      e0b12ca1
    • Adam Barth's avatar
      Remove Scrollable1 (#8225) · 90574b04
      Adam Barth authored
      All the clients have migrated to Scrollable2.
      90574b04
  20. 09 Feb, 2017 1 commit
  21. 08 Feb, 2017 1 commit
  22. 31 Jan, 2017 2 commits
  23. 13 Jan, 2017 2 commits
  24. 11 Jan, 2017 2 commits
  25. 09 Jan, 2017 1 commit
  26. 28 Nov, 2016 1 commit
  27. 08 Nov, 2016 1 commit
  28. 18 Oct, 2016 1 commit
    • Yegor's avatar
      add description to by-predicate finders (#6362) · 995fcdc9
      Yegor authored
      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.
      995fcdc9
  29. 13 Sep, 2016 1 commit
  30. 09 Sep, 2016 1 commit
  31. 08 Sep, 2016 1 commit
    • Phil Quitslund's avatar
      Update to Dart `1.20.0-dev.1.0`. (#5689) · d2fda677
      Phil Quitslund authored
      * Udpate to Dart `1.20.0-dev.1.0`.
      
      Udpate to Dart `1.20.0-dev.1.0` and corresponding `analyzer` package.
      
      * Added `--no-packages-dir`.
      
      * Revert extension to master.
      
      * Added ignores.
      
      * Review nits.
      
      * More nits.
      d2fda677
  32. 14 Jul, 2016 1 commit
    • YoungSeok Yoon's avatar
      Flutter driver commands for controlling the Input widget (#4913) · a10cd03b
      YoungSeok Yoon authored
      * Driver commands for controlling the Input widget
      
      This commit introduces two new driver commands for controlling the
      material Input widget.
      
      * setInputText(SerializableFinder finder, String text)
      * submitInputText(SerializableFinder finder)
      
      Since it is not possible to directly modify the Input widget text,
      these driver commands invokes the handler functions of the Input
      widget: onChanged and onSubmitted, respectively. The `submitInputText`
      command returns the submitted String as a result.
      
      * Make input command handler methods private
      
      Addressing comments from @yjbanov.
      a10cd03b