| // 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/stepper/step_style.0.dart' as example; |
| import 'package:flutter_test/flutter_test.dart'; |
| |
| void main() { |
| testWidgets('StepStyle Smoke Test', (WidgetTester tester) async { |
| await tester.pumpWidget( |
| const example.StepStyleExampleApp(), |
| ); |
| |
| expect(find.widgetWithText(AppBar, 'Step Style Example'), findsOneWidget); |
| |
| final Stepper stepper = tester.widget<Stepper>(find.byType(Stepper)); |
| // Check that the stepper has the correct properties. |
| expect(stepper.type, StepperType.horizontal); |
| expect(stepper.stepIconHeight, 48); |
| expect(stepper.stepIconWidth, 48); |
| expect(stepper.stepIconMargin, EdgeInsets.zero); |
| |
| // Check that the first step has the correct properties. |
| final Step firstStep = stepper.steps[0]; |
| expect(firstStep.title, isA<SizedBox>()); |
| expect(firstStep.content, isA<SizedBox>()); |
| expect(firstStep.isActive, true); |
| expect(firstStep.stepStyle?.connectorThickness, 10); |
| expect(firstStep.stepStyle?.color, Colors.white); |
| expect(firstStep.stepStyle?.connectorColor, Colors.red); |
| expect(firstStep.stepStyle?.indexStyle?.color, Colors.black); |
| expect(firstStep.stepStyle?.indexStyle?.fontSize, 20); |
| expect(firstStep.stepStyle?.border, Border.all(width: 2)); |
| |
| // Check that the second step has the correct properties. |
| final Step secondStep = stepper.steps[1]; |
| expect(secondStep.title, isA<SizedBox>()); |
| expect(secondStep.content, isA<SizedBox>()); |
| expect(secondStep.isActive, true); |
| expect(secondStep.stepStyle?.connectorThickness, 10); |
| expect(secondStep.stepStyle?.connectorColor, Colors.orange); |
| expect(secondStep.stepStyle?.gradient, const LinearGradient( |
| colors: <Color>[ |
| Colors.white, |
| Colors.black, |
| ], |
| )); |
| |
| // Check that the third step has the correct properties. |
| final Step thirdStep = stepper.steps[2]; |
| expect(thirdStep.title, isA<SizedBox>()); |
| expect(thirdStep.content, isA<SizedBox>()); |
| expect(thirdStep.isActive, true); |
| expect(thirdStep.stepStyle?.connectorThickness, 10); |
| expect(thirdStep.stepStyle?.color, Colors.white); |
| expect(thirdStep.stepStyle?.connectorColor, Colors.blue); |
| expect(thirdStep.stepStyle?.indexStyle?.color, Colors.black); |
| expect(thirdStep.stepStyle?.indexStyle?.fontSize, 20); |
| expect(thirdStep.stepStyle?.border, Border.all(width: 2)); |
| |
| // Check that the fourth step has the correct properties. |
| final Step fourthStep = stepper.steps[3]; |
| expect(fourthStep.title, isA<SizedBox>()); |
| expect(fourthStep.content, isA<SizedBox>()); |
| expect(fourthStep.isActive, true); |
| expect(fourthStep.stepStyle?.color, Colors.white); |
| expect(fourthStep.stepStyle?.indexStyle?.color, Colors.black); |
| expect(fourthStep.stepStyle?.indexStyle?.fontSize, 20); |
| expect(fourthStep.stepStyle?.border, Border.all(width: 2)); |
| }); |
| } |