1. 20 May, 2016 2 commits
  2. 19 May, 2016 1 commit
  3. 18 May, 2016 4 commits
  4. 17 May, 2016 5 commits
  5. 16 May, 2016 3 commits
  6. 13 May, 2016 1 commit
  7. 12 May, 2016 2 commits
  8. 10 May, 2016 1 commit
  9. 09 May, 2016 1 commit
  10. 07 May, 2016 1 commit
    • Adam Barth's avatar
      Move TextAlign out of TextStyle (#3789) · ee903af0
      Adam Barth authored
      TextAlign applies to a whole paragraph instead of applying to an individual
      text span. This patch moves the property out of TextStyle and into a separate
      property on Text and RichText.
      ee903af0
  11. 06 May, 2016 1 commit
  12. 05 May, 2016 1 commit
  13. 04 May, 2016 2 commits
  14. 03 May, 2016 6 commits
  15. 02 May, 2016 1 commit
  16. 29 Apr, 2016 8 commits
    • Adam Barth's avatar
      Fix the padding and space for FlatButton and RaisedButton (#3650) · b2fa6c25
      Adam Barth authored
      Instead of incorporating the margin into the button, introduce a ButtonBar
      widget that supplies the proper spacing between the buttons. Also, make these
      buttons more configurable via ButtonTheme so that dialogs can change the
      minWidth and padding of the buttons as required by the spec.
      
      Fixes #1843
      Fixes #3184
      b2fa6c25
    • Adam Barth's avatar
      Center the "slow mode" banner (#3651) · f8d76d18
      Adam Barth authored
      Also add dartdocs.
      f8d76d18
    • Yegor's avatar
      7c017898
    • Ian Hickson's avatar
      Refactor the test framework (#3622) · 91dd9699
      Ian Hickson authored
      * 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
      91dd9699
    • Yegor's avatar
      fix first frame reporting logic (#3640) · e60a624a
      Yegor authored
      e60a624a
    • Adam Barth's avatar
      Add ergonomic wrappers for Flutter platform services (#3636) · 870c3619
      Adam Barth authored
      These wrappers also give us a chance to document what these services do.
      
      Fixes #3164
      870c3619
    • Matt Perry's avatar
      Clear the composing range when selecting text. (#3635) · f93ea0ea
      Matt Perry authored
      This fixes a bug where editing the selected text on Android would delete
      the wrong block of text.
      
      BUG=https://github.com/flutter/flutter/issues/3567
      f93ea0ea
    • Ian Hickson's avatar
      Fix truncated dartdoc. (#3619) · 770e17cf
      Ian Hickson authored
      Note that the /// part of the doc was published, only the // line was
      omitted. This means that we can safely put // comments between /// docs
      and the member they are documenting.
      770e17cf