// 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/widgets.dart'; import 'package:flutter_test/flutter_test.dart'; const BoxDecoration kBoxDecorationA = BoxDecoration( color: Color(0xFFFF0000), ); const BoxDecoration kBoxDecorationB = BoxDecoration( color: Color(0xFF00FF00), ); const BoxDecoration kBoxDecorationC = BoxDecoration( color: Color(0xFF0000FF), ); class TestBuildCounter extends StatelessWidget { const TestBuildCounter({ super.key }); static int buildCount = 0; @override Widget build(BuildContext context) { buildCount += 1; return const DecoratedBox(decoration: kBoxDecorationA); } } class FlipWidget extends StatefulWidget { const FlipWidget({ super.key, required this.left, required this.right }); final Widget left; final Widget right; @override FlipWidgetState createState() => FlipWidgetState(); } class FlipWidgetState extends State<FlipWidget> { bool _showLeft = true; void flip() { setState(() { _showLeft = !_showLeft; }); } @override Widget build(BuildContext context) { return _showLeft ? widget.left : widget.right; } } void flipStatefulWidget(WidgetTester tester, { bool skipOffstage = true }) { tester.state<FlipWidgetState>(find.byType(FlipWidget, skipOffstage: skipOffstage)).flip(); }