diff --git a/dev/bots/check_code_samples.dart b/dev/bots/check_code_samples.dart index 924b543571..f91e5adc7b 100644 --- a/dev/bots/check_code_samples.dart +++ b/dev/bots/check_code_samples.dart @@ -311,7 +311,6 @@ class SampleChecker { final Set _knownMissingTests = { 'examples/api/test/material/bottom_app_bar/bottom_app_bar.2_test.dart', 'examples/api/test/material/bottom_app_bar/bottom_app_bar.1_test.dart', - 'examples/api/test/material/material_state/material_state_outlined_border.0_test.dart', 'examples/api/test/material/selectable_region/selectable_region.0_test.dart', 'examples/api/test/material/selection_container/selection_container_disabled.0_test.dart', 'examples/api/test/material/selection_container/selection_container.0_test.dart', diff --git a/examples/api/test/material/material_state/material_state_outlined_border.0_test.dart b/examples/api/test/material/material_state/material_state_outlined_border.0_test.dart new file mode 100644 index 0000000000..05ee1e90f9 --- /dev/null +++ b/examples/api/test/material/material_state/material_state_outlined_border.0_test.dart @@ -0,0 +1,58 @@ +// 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/material/material_state/material_state_outlined_border.0.dart' + as example; +import 'package:flutter_test/flutter_test.dart'; + +void main() { + Finder findBorderShape(OutlinedBorder? shape) { + return find.descendant( + of: find.byType(FilterChip), + matching: find.byWidgetPredicate((Widget widget) { + if (widget is! Material) { + return false; + } + return widget.shape == shape; + }), + ); + } + + testWidgets( + 'FilterChip displays the correct border when selected', + (WidgetTester tester) async { + await tester.pumpWidget( + const example.MaterialStateOutlinedBorderExampleApp(), + ); + + expect( + findBorderShape(const RoundedRectangleBorder( + side: BorderSide(color: Colors.transparent), + )), + findsOne, + ); + }, + ); + + testWidgets( + 'FilterChip displays the correct border when not selected', + (WidgetTester tester) async { + await tester.pumpWidget( + const example.MaterialStateOutlinedBorderExampleApp(), + ); + + await tester.tap(find.byType(FilterChip)); + await tester.pumpAndSettle(); + + expect( + findBorderShape(RoundedRectangleBorder( + side: const BorderSide(color: Color(0xFFCAC4D0)), + borderRadius: BorderRadius.circular(8), + )), + findsOne, + ); + }, + ); +}