// Copyright 2014 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'package:flutter_test/flutter_test.dart'; import 'package:flutter/widgets.dart'; void main() { testWidgets('Comparing coordinates', (WidgetTester tester) async { final Key keyA = GlobalKey(); final Key keyB = GlobalKey(); await tester.pumpWidget( Stack( textDirection: TextDirection.ltr, children: <Widget>[ Positioned( top: 100.0, left: 100.0, child: SizedBox( key: keyA, width: 10.0, height: 10.0, ), ), Positioned( left: 100.0, top: 200.0, child: SizedBox( key: keyB, width: 20.0, height: 10.0, ), ), ], ), ); final RenderBox boxA = tester.renderObject(find.byKey(keyA)); expect(boxA.localToGlobal(Offset.zero), equals(const Offset(100.0, 100.0))); final RenderBox boxB = tester.renderObject(find.byKey(keyB)); expect(boxB.localToGlobal(Offset.zero), equals(const Offset(100.0, 200.0))); expect(boxB.globalToLocal(const Offset(110.0, 205.0)), equals(const Offset(10.0, 5.0))); }); }