- 04 Mar, 2017 1 commit
-
-
Chris Bracken authored
-
- 01 Mar, 2017 1 commit
-
-
Adam Barth authored
-
- 14 Feb, 2017 1 commit
-
-
Hans Muller authored
-
- 07 Nov, 2016 1 commit
-
-
Ian Hickson authored
-
- 29 Aug, 2016 1 commit
-
-
Ian Hickson authored
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.
-
- 27 Jun, 2016 1 commit
-
-
Adam Barth authored
* Change how navigator prevents redundant operations Instead of requiring transactions, we now cancel all active pointers that are interacting with the navigator and absorb future pointers until we get a chance to build. This approach isn't perfect (e.g., events that trigger off the cancelled pointers could still interact with the navigator), but it should be better than the current transaction-based approach. Fixes #4716 * Remove openTransaction * test * fixup
-
- 21 Jun, 2016 1 commit
-
-
Adam Barth authored
Turns out we weren't managing focus correct between navigator routes because we were missing a Focus widget above the routes. However, adding this widget caused us to explode at startup because the initial route was trying to move focus during the build phase. This patch teaches Focus to have an initiallyFocusedScope, which can be use to initialize the child focus scope. Fixes #4065
-
- 16 May, 2016 1 commit
-
-
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.
-
- 04 May, 2016 1 commit
-
-
Ian Hickson authored
Turns out we were storing the same object in the base class and the subclass. For pretty much every AnimatedWidget subclass.
-
- 03 May, 2016 1 commit
-
-
Adam Barth authored
This patch completes the circuit on this library. The next step is to go through and add docs to anything we missed.
-
- 29 Apr, 2016 1 commit
-
-
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
-
- 14 Apr, 2016 1 commit
-
-
Yegor authored
-
- 14 Mar, 2016 1 commit
-
-
Hixie authored
-
- 12 Mar, 2016 4 commits
-
-
Adam Barth authored
This patch renames StatelessComponent to StatelessWidget and StatefulComponent to StatefulWidget. Fixes #2308
-
Hixie authored
And fix the zillion issues that uncovered.
-
Ian Hickson authored
This reverts commit f41b3411, reversing changes made to e33d8d96. This was a bad check-in due to my mangling uploading a new version of the branch from a different machine. This reverts https://github.com/flutter/flutter/pull/2639 and will be replaced by https://github.com/flutter/flutter/pull/2640
-
Hixie authored
And fix the zillion issues that uncovered.
-
- 11 Feb, 2016 1 commit
-
-
Ian Hickson authored
Each layer is supposed to reexport the parts of the previous layer that are part of its API. - In painting.dart, export from dart:ui all the Canvas-related APIs that make sense to be used at higher levels, e.g. PaintingStyle. - Delete painting/shadows.dart. It was dead code. - In rendering/object.dart, export all of painting.dart. - In widgets/basic.dart, export all of painting.dart and animation.dart. Some classes in animation/ are renamed to make this less disruptive and confusing to the namespace. - Split out Stocks back into an import model rather than a part model, so that it's easier to manage its dependencies on a per-file basis. - Move Ticker to scheduler library. - Remove as many redundant imports as possible now. - Some minor nit picking cleanup in various files.
-
- 20 Jan, 2016 2 commits
-
-
Adam Barth authored
This patch removes Performance and AnimationValue now that we've ported the framework over to AnimationController and Tween. This patch also cleans up the names of the AnimationController classes now that they don't have to avoid conflicts with the old animation API. Specifically, I've made the following renames: * Animated -> Animation * Evaluatable -> Animatable * PerformanceStatus -> AnimationStatus This patch is just renames and moving code around. There aren't any changes in behavior.
-
Adam Barth authored
This patch moves Navigator and related code over to using AnimationController.
-
- 11 Jan, 2016 1 commit
-
-
Adam Barth authored
Previously we used a positional argument for widgets that had multiple children. Now we use a named argument that defaults to an empty list. Fixes #241
-
- 07 Jan, 2016 1 commit
-
-
Ian Hickson authored
Make ancestorStateOfType() and ancestorRenderObjectOfType() support subclassing. Fixes https://github.com/flutter/flutter/issues/1087
-
- 16 Dec, 2015 1 commit
-
-
Ian Hickson authored
-
- 08 Dec, 2015 1 commit
-
-
Collin Jackson authored
-
- 07 Dec, 2015 1 commit
-
-
Adam Barth authored
Instead, it should enter the world fully formed.
-
- 05 Dec, 2015 1 commit
-
-
Hixie authored
Primarily, this rearranges how listeners are handled internally by the various PerformanceView classes so that there's not so much redundancy. It also fixes ReversePerformance and ProxyPerformance to not leak. Previously, they never unhooked their listeners, so they'd leak until the entire chain of performances was killed. Now, they unhook as soon as they themselves have no listeners left, which is more idiomatic.
-
- 04 Dec, 2015 2 commits
-
-
Hixie authored
Instead of separate functions for the 0->1 and 1->2 transitions, just have one function.
-
Ian Hickson authored
One might argue, the most basic utility classes.
-
- 03 Dec, 2015 2 commits