From 774ef8acf4ce4d8de739371e279c4f8296edccb4 Mon Sep 17 00:00:00 2001 From: osama Date: Tue, 7 May 2024 14:00:27 +0500 Subject: [PATCH] Added missing tests for ButtonStyle example (#147457) Added missing tests for ButtonStyle example. Issue #130459 --- dev/bots/check_code_samples.dart | 1 - .../button_style/button_style.0_test.dart | 74 +++++++++++++++++++ 2 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 examples/api/test/material/button_style/button_style.0_test.dart diff --git a/dev/bots/check_code_samples.dart b/dev/bots/check_code_samples.dart index 37fae596bc4d..2e6d92f275b7 100644 --- a/dev/bots/check_code_samples.dart +++ b/dev/bots/check_code_samples.dart @@ -317,7 +317,6 @@ final Set _knownMissingTests = { 'examples/api/test/material/selectable_region/selectable_region.0_test.dart', 'examples/api/test/material/text_field/text_field.2_test.dart', 'examples/api/test/material/text_field/text_field.1_test.dart', - 'examples/api/test/material/button_style/button_style.0_test.dart', 'examples/api/test/material/range_slider/range_slider.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/button_style/button_style.0_test.dart b/examples/api/test/material/button_style/button_style.0_test.dart new file mode 100644 index 000000000000..db4251fb21db --- /dev/null +++ b/examples/api/test/material/button_style/button_style.0_test.dart @@ -0,0 +1,74 @@ +// 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/button_style/button_style.0.dart' + as example; +import 'package:flutter_test/flutter_test.dart'; + +void main() { + testWidgets( + 'Shows ElevatedButtons, FilledButtons, OutlinedButtons and TextButtons in enabled and disabled states', + (WidgetTester tester) async { + await tester.pumpWidget(const example.ButtonApp()); + + expect( + find.byWidgetPredicate((Widget widget) { + return widget is ElevatedButton && widget.onPressed == null; + }), + findsOne, + ); + + expect( + find.byWidgetPredicate((Widget widget) { + return widget is ElevatedButton && widget.onPressed != null; + }), + findsOne, + ); + + // One OutlinedButton with onPressed null. + expect( + find.byWidgetPredicate((Widget widget) { + return widget is OutlinedButton && widget.onPressed == null; + }), + findsOne, + ); + + // One OutlinedButton with onPressed not null. + expect( + find.byWidgetPredicate((Widget widget) { + return widget is OutlinedButton && widget.onPressed != null; + }), + findsOne, + ); + + expect( + find.byWidgetPredicate((Widget widget) { + return widget is TextButton && widget.onPressed == null; + }), + findsOne, + ); + + expect( + find.byWidgetPredicate((Widget widget) { + return widget is TextButton && widget.onPressed != null; + }), + findsOne, + ); + + expect( + find.byWidgetPredicate((Widget widget) { + return widget is FilledButton && widget.onPressed != null; + }), + findsNWidgets(2), + ); + + expect( + find.byWidgetPredicate((Widget widget) { + return widget is FilledButton && widget.onPressed == null; + }), + findsNWidgets(2), + ); + }); +}