| // 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 'dart:ui' show window; |
| |
| import 'package:flutter/rendering.dart'; |
| import 'package:flutter/widgets.dart'; |
| import 'package:flutter_test/flutter_test.dart'; |
| |
| void main() { |
| testWidgets('provides a value to the layer tree', (WidgetTester tester) async { |
| await tester.pumpWidget( |
| const AnnotatedRegion<int>( |
| value: 1, |
| child: SizedBox(width: 100.0, height: 100.0), |
| ), |
| ); |
| final List<Layer> layers = tester.layers; |
| final AnnotatedRegionLayer<int> layer = layers.whereType<AnnotatedRegionLayer<int>>().first; |
| expect(layer.value, 1); |
| }); |
| testWidgets('provides a value to the layer tree in a particular region', (WidgetTester tester) async { |
| await tester.pumpWidget( |
| Transform.translate( |
| offset: const Offset(25.0, 25.0), |
| child: const AnnotatedRegion<int>( |
| value: 1, |
| child: SizedBox(width: 100.0, height: 100.0), |
| ), |
| ), |
| ); |
| int? result = RendererBinding.instance!.renderView.debugLayer!.find<int>(Offset( |
| 10.0 * window.devicePixelRatio, |
| 10.0 * window.devicePixelRatio, |
| )); |
| expect(result, null); |
| result = RendererBinding.instance!.renderView.debugLayer!.find<int>(Offset( |
| 50.0 * window.devicePixelRatio, |
| 50.0 * window.devicePixelRatio, |
| )); |
| expect(result, 1); |
| }); |
| } |