- 21 Apr, 2021 1 commit
-
-
Phil Quitslund authored
-
- 04 Mar, 2021 1 commit
-
-
Greg Spencer authored
-
- 15 Oct, 2020 1 commit
-
-
Kate Lovett authored
-
- 11 Jun, 2020 1 commit
-
-
Alexandre Ardhuin authored
* add language version 2.8 in packages/flutter * enable non-nullable analyzer flag
-
- 16 Dec, 2019 1 commit
-
-
Alexandre Ardhuin authored
-
- 27 Nov, 2019 1 commit
-
-
Ian Hickson authored
* Update project.pbxproj files to say Flutter rather than Chromium Also, the templates now have an empty organization so that we don't cause people to give their apps a Flutter copyright. * Update the copyright notice checker to require a standard notice on all files * Update copyrights on Dart files. (This was a mechanical commit.) * Fix weird license headers on Dart files that deviate from our conventions; relicense Shrine. Some were already marked "The Flutter Authors", not clear why. Their dates have been normalized. Some were missing the blank line after the license. Some were randomly different in trivial ways for no apparent reason (e.g. missing the trailing period). * Clean up the copyrights in non-Dart files. (Manual edits.) Also, make sure templates don't have copyrights. * Fix some more ORGANIZATIONNAMEs
-
- 29 Apr, 2019 1 commit
-
-
Dan Field authored
* Re-enable const
-
- 01 Mar, 2019 1 commit
-
-
Alexandre Ardhuin authored
* add trailing commas on list/map/parameters * add trailing commas on Invocation with nb of arg>1 * add commas for widget containing widgets * add trailing commas if instantiation contains trailing comma * revert bad change
-
- 16 Oct, 2018 1 commit
-
-
Alexandre Ardhuin authored
* Future<void> main * Future<void>.delayed * prefer_void_to_Null * address review comments
-
- 12 Sep, 2018 1 commit
-
-
Alexandre Ardhuin authored
* enable lint unnecessary_new * fix tests * fix tests * fix tests
-
- 08 Sep, 2017 1 commit
-
-
Adam Barth authored
Notice that the default alignment for Stack needs to know the directionality.
-
- 15 Apr, 2017 1 commit
-
-
Ian Hickson authored
With this patch, you can do: ```dart Future<Null> foo() async { try { await controller.forward().orCancel; await controller.reverse().orCancel; await controller.forward().orCancel; } on TickerCanceled { // did not complete } } ``` ...in a State's async method, and so long as you dispose of the controller properly in your dispose, you'll have a nice way of doing animations in sequence without leaking the controller. try/finally works as well, if you need to allocate resources and discard them when canceled. Simultaneously, you can do: ```dart Future<Null> foo() async { await controller.forward().orCancel; await controller.reverse().orCancel; await controller.forward().orCancel; } ``` ...and have the same effect, where the method will just silently hang (and get GC'ed) if the widget is disposed, without leaking anything, if you don't need to catch the controller being killed. And all this, without spurious errors for uncaught exceptions on controllers.
-
- 04 Mar, 2017 1 commit
-
-
Chris Bracken authored
-
- 20 Feb, 2017 1 commit
-
-
Alexandre Ardhuin authored
-
- 14 Feb, 2017 1 commit
-
-
Ian Hickson authored
Since RelativeRect's whole purpose in life is to make work with Stack easier, it's silly that you can't directly use it with Positioned. Also, tests for RelativeRect. And fixes for the bugs that found...
-
- 07 Nov, 2016 1 commit
-
-
Ian Hickson authored
-
- 26 Sep, 2016 1 commit
-
-
Ian Hickson authored
This requires all AnimationController objects to be given a TickerProvider, a class that can create the Ticker. It also provides some nice mixins for people who want to have their State provide a TickerProvider. And a schedulerTickerProvider for those cases where you just want to see your battery burn. Also, we now enforce destruction order for elements.
-
- 22 Sep, 2016 1 commit
-
-
Dan Rubel authored
-
- 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
-
-
pq authored
The `flutter` package gets more types! Follow-up from: https://github.com/flutter/flutter/pull/3727.
-
- 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
-
- 09 Mar, 2016 1 commit
-
-
Adam Barth authored
After running a widget test, we now clear out the widget tree and check that we didn't leak any timers or animations. Also, fix several bugs that this addtional check revealed. Fixes #2481
-
- 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 1 commit
-
-
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
-
- 02 Jan, 2016 1 commit
-
-
Adam Barth authored
Previously we used Position, which makes it harder to accumulate offsets when walking the render tree.
-
- 16 Dec, 2015 1 commit
-
-
Ian Hickson authored
-
- 23 Nov, 2015 1 commit
-
-
Adam Barth authored
This package contains WidgetTester, which is very useful when writing tests for widgets.
-
- 16 Nov, 2015 1 commit
-
-
Hixie authored
- force the time dilation to 1.0 for the Widget tests, so that a local change doesn't break all the tests during development. - add missing license block to all the files. - set ui.window.onBeginFrame to null when you use WidgetTester, so that the engine doesn't trigger any confusing frames after our fake frames.
-
- 20 Oct, 2015 1 commit
-
-
Adam Barth authored
-
- 18 Oct, 2015 1 commit
-
-
Hixie authored
Add a AnimatedRelativeRectValue class for animating RelativeRects. Add a PositionedTransition class for animating Positioned using AnimatedRelativeRectValues. Add a test for PositionedTransition. Fix a math bug a RelativeRect found by the test. Fix a logic bug in the two ParentDataWidget classes found by the test. Specifically, they were marking the child dirty, rather than the parent. The parentData is for the parent's layout, not the child's, so they have to mark the parent dirty. (I didn't hoist this up to the superclass because ParentData could be used for painting, hit testing, accessibility, or any number of other things, and I didn't want to bake in the assumption that it needed markNeedsLayout.)
-