mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00

Adds simple tests to the last two [TextField](https://api.flutter.dev/flutter/material/TextField-class.html) examples as part of fixing #130459.
45 lines
2.0 KiB
Dart
45 lines
2.0 KiB
Dart
// 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/text_field/text_field.2.dart' as example;
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
|
|
void main() {
|
|
testWidgets('Creates styled text fields', (WidgetTester tester) async {
|
|
await tester.pumpWidget(const example.TextFieldExamplesApp());
|
|
|
|
expect(find.text('TextField Examples'), findsOneWidget);
|
|
expect(find.byType(TextField), findsNWidgets(2));
|
|
expect(find.byType(example.FilledTextFieldExample), findsOneWidget);
|
|
expect(find.byType(example.OutlinedTextFieldExample), findsOneWidget);
|
|
|
|
final TextField filled = tester.widget<TextField>(find.descendant(
|
|
of: find.byType(example.FilledTextFieldExample),
|
|
matching: find.byType(TextField),
|
|
));
|
|
expect(filled.decoration!.prefixIcon, isA<Icon>()
|
|
.having((Icon icon) => icon.icon, 'icon', Icons.search));
|
|
expect(filled.decoration!.suffixIcon, isA<Icon>()
|
|
.having((Icon icon) => icon.icon, 'icon', Icons.clear));
|
|
expect(filled.decoration!.labelText, 'Filled');
|
|
expect(filled.decoration!.hintText, 'hint text');
|
|
expect(filled.decoration!.helperText, 'supporting text');
|
|
expect(filled.decoration!.filled, true);
|
|
|
|
final TextField outlined = tester.widget<TextField>(find.descendant(
|
|
of: find.byType(example.OutlinedTextFieldExample),
|
|
matching: find.byType(TextField),
|
|
));
|
|
expect(outlined.decoration!.prefixIcon, isA<Icon>()
|
|
.having((Icon icon) => icon.icon, 'icon', Icons.search));
|
|
expect(outlined.decoration!.suffixIcon, isA<Icon>()
|
|
.having((Icon icon) => icon.icon, 'icon', Icons.clear));
|
|
expect(outlined.decoration!.labelText, 'Outlined');
|
|
expect(outlined.decoration!.hintText, 'hint text');
|
|
expect(outlined.decoration!.helperText, 'supporting text');
|
|
expect(outlined.decoration!.border, isA<OutlineInputBorder>());
|
|
});
|
|
}
|