Add test for build_owner.0.dart (#157499)

Contributes to https://github.com/flutter/flutter/issues/130459

It adds a test for
- `examples/api/lib/widgets/framework/build_owner.0.dart`
This commit is contained in:
Valentin Vignal 2024-10-25 15:13:22 +08:00 committed by GitHub
parent ffb1239801
commit 086c07cc05
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 50 additions and 8 deletions

View File

@ -317,7 +317,6 @@ final Set<String> _knownMissingTests = <String>{
'examples/api/test/widgets/navigator/restorable_route_future.0_test.dart',
'examples/api/test/widgets/navigator/navigator_state.restorable_push.0_test.dart',
'examples/api/test/widgets/focus_manager/focus_node.unfocus.0_test.dart',
'examples/api/test/widgets/framework/build_owner.0_test.dart',
'examples/api/test/widgets/nested_scroll_view/nested_scroll_view_state.0_test.dart',
'examples/api/test/widgets/scroll_position/scroll_metrics_notification.0_test.dart',
'examples/api/test/widgets/media_query/media_query_data.system_gesture_insets.0_test.dart',

View File

@ -8,12 +8,33 @@ import 'package:flutter/rendering.dart';
/// Flutter code sample for [BuildOwner].
void main() {
WidgetsFlutterBinding.ensureInitialized();
final Size size = measureWidget(const SizedBox(width: 640, height: 480));
// Just displays the size calculated above.
runApp(
WidgetsApp(
const BuildOwnerExample(),
);
}
class BuildOwnerExample extends StatefulWidget {
const BuildOwnerExample({
super.key,
});
@override
State<BuildOwnerExample> createState() => _BuildOwnerExampleState();
}
class _BuildOwnerExampleState extends State<BuildOwnerExample> {
late final Size size;
@override
void initState() {
super.initState();
size = measureWidget(const SizedBox(width: 640, height: 480));
}
@override
Widget build(BuildContext context) {
// Just displays the size calculated above.
return WidgetsApp(
title: 'BuildOwner Sample',
color: const Color(0xff000000),
builder: (BuildContext context, Widget? child) {
@ -23,9 +44,9 @@ void main() {
),
);
},
),
);
}
}
Size measureWidget(Widget widget) {
final PipelineOwner pipelineOwner = PipelineOwner();

View File

@ -0,0 +1,22 @@
// 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/material.dart';
import 'package:flutter_api_samples/widgets/framework/build_owner.0.dart' as example;
import 'package:flutter_test/flutter_test.dart';
void main() {
testWidgets('BuildOwnerExample displays the measured size', (WidgetTester tester) async {
await tester.pumpWidget(const example.BuildOwnerExample());
expect(find.text('Size(640.0, 480.0)'), findsOne);
});
test('The size of the widget is measured', () {
expect(
example.measureWidget(const SizedBox(width: 234, height: 567)),
const Size(234, 567),
);
});
}