mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
47 lines
1.3 KiB
Dart
47 lines
1.3 KiB
Dart
import 'package:flutter/rendering.dart';
|
|
import 'package:flutter/widgets.dart';
|
|
import 'package:test/test.dart';
|
|
|
|
import 'widget_tester.dart';
|
|
|
|
void main() {
|
|
test('Comparing coordinates', () {
|
|
testWidgets((WidgetTester tester) {
|
|
Key keyA = new GlobalKey();
|
|
Key keyB = new GlobalKey();
|
|
|
|
tester.pumpWidget(
|
|
new Stack(<Widget>[
|
|
new Positioned(
|
|
top: 100.0,
|
|
left: 100.0,
|
|
child: new SizedBox(
|
|
key: keyA,
|
|
width: 10.0,
|
|
height: 10.0
|
|
)
|
|
),
|
|
new Positioned(
|
|
left: 100.0,
|
|
top: 200.0,
|
|
child: new SizedBox(
|
|
key: keyB,
|
|
width: 20.0,
|
|
height: 10.0
|
|
)
|
|
),
|
|
])
|
|
);
|
|
|
|
expect((tester.findElementByKey(keyA).renderObject as RenderBox).localToGlobal(const Point(0.0, 0.0)),
|
|
equals(const Point(100.0, 100.0)));
|
|
|
|
expect((tester.findElementByKey(keyB).renderObject as RenderBox).localToGlobal(const Point(0.0, 0.0)),
|
|
equals(const Point(100.0, 200.0)));
|
|
|
|
expect((tester.findElementByKey(keyB).renderObject as RenderBox).globalToLocal(const Point(110.0, 205.0)),
|
|
equals(const Point(10.0, 5.0)));
|
|
});
|
|
});
|
|
}
|