blob: db15bc72c14e3bcb04bf55daec95feb8765aaa06 [file] [log] [blame]
// 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));
});
}