1. 04 Mar, 2017 1 commit
  2. 14 Feb, 2017 1 commit
  3. 09 Dec, 2016 1 commit
  4. 01 Dec, 2016 1 commit
  5. 22 Nov, 2016 1 commit
  6. 18 Nov, 2016 1 commit
  7. 28 Oct, 2016 1 commit
  8. 17 Oct, 2016 1 commit
    • Adam Barth's avatar
      Fix DropdownButton regression (#6353) · 6399a3af
      Adam Barth authored
      When I changed how routes complete their futures, I broke the Dropdown
      button because it was still waiting for its own Completer to complete
      instead of using the Future returned by push. This patch fixes that
      issue.
      
      I've also removed the previous behavior of the DropdownButton forwarding
      its text style to its route. The mechansim that we were using doesn't
      work properly in all cases. For example, if the DropdownButton is a
      child of a LayoutBuilder, then the route will have already built by the
      time the DropdownButton gets a chance to forward its text style, causing
      an assert in setState.
      
      Finally, I've tweaked PopupMenuButton to work the same way as
      DropdownButton in a couple corner cases (e.g., not calling the changed
      callback if the button was removed from the tree before the menu
      completed its Future).
      
      Fixes #6352
      6399a3af
  9. 16 Sep, 2016 1 commit
  10. 27 Jun, 2016 1 commit
  11. 18 May, 2016 1 commit
    • Ian Hickson's avatar
      Some cleanup of the test framework (#4001) · d2c8c82f
      Ian Hickson authored
      * Add a "build" phase to EnginePhase for completeness.
      * Ignore events from the device during test execution.
      * More dartdocs
      * Slightly more helpful messages about Timers in verifyInvariants.
      * Add widgetList, elementList, stateList, renderObjectList.
      * Send test events asynchronously for consistency with other APIs.
      * Fix a test that was depending on test events being synchronous (or
        rather, scheduled in a microtask that came before the microtask for
        the completer of the future that the tap() function returned).
      d2c8c82f
  12. 16 May, 2016 1 commit
    • Ian Hickson's avatar
      Make it possible to run tests live on a device (#3936) · 32527017
      Ian Hickson authored
      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.
      32527017
  13. 05 May, 2016 2 commits
    • Adam Barth's avatar
      DropDownMenu should use ScrollableList (#3745) · 2592f8f4
      Adam Barth authored
      Previously it used Block, which is less efficient for large numbers of items.
      Also move the top margin out of the menu item to fix the baseline alignment of
      the text.
      
      Fixes #1615
      2592f8f4
    • Adam Barth's avatar
      Ensure that DropDownMenus are always onscreen (#3742) · 6a46bf2e
      Adam Barth authored
      This patch sizes the menu such that it is always on screen, but doesn't scroll
      the menu to ensure that the currently selected item is always visible and on
      top of the button. That will need to wait for a later patch.
      
      Also, teach CustomPaint how to repaint animations more efficiently.
      
      Fixes #3720
      6a46bf2e