transform_test.dart 1.27 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
import 'package:sky/widgets.dart';
import 'package:test/test.dart';

import 'widget_tester.dart';

void main() {
  test('Transform origin', () {
    WidgetTester tester = new WidgetTester();

    bool didReceiveTap = false;
    tester.pumpFrame(() {
      return new Stack([
        new Positioned(
          top: 100.0,
          left: 100.0,
          child: new Container(
            width: 100.0,
            height: 100.0,
            decoration: new BoxDecoration(
              backgroundColor: new Color(0xFF0000FF)
            )
          )
        ),
        new Positioned(
          top: 100.0,
          left: 100.0,
          child: new Container(
            width: 100.0,
            height: 100.0,
            child: new Transform(
              transform: new Matrix4.identity().scale(0.5, 0.5),
              origin: new Offset(100.0, 50.0),
              child: new GestureDetector(
                onTap: () {
                  didReceiveTap = true;
                },
                child: new Container()
              )
            )
          )
        )
      ]);
    });

    expect(didReceiveTap, isFalse);
    tester.tapAt(new Point(110.0, 110.0));
    expect(didReceiveTap, isFalse);
    tester.tapAt(new Point(190.0, 150.0));
    expect(didReceiveTap, isTrue);
  });
}