expansion_tile.0_test.dart 1.33 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
// 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/expansion_tile/expansion_tile.0.dart' as example;
import 'package:flutter_test/flutter_test.dart';

void main() {
  testWidgets('When expansion tiles are expanded tile numbers are revealed', (WidgetTester tester) async {
    const int totalTiles = 3;

    await tester.pumpWidget(
      const example.ExpansionTileApp(),
    );

    expect(find.byType(ExpansionTile), findsNWidgets(totalTiles));

    const String tileOne = 'This is tile number 1';
    expect(find.text(tileOne), findsNothing);

    await tester.tap(find.text('ExpansionTile 1'));
    await tester.pumpAndSettle();
    expect(find.text(tileOne), findsOneWidget);

    const String tileTwo = 'This is tile number 2';
    expect(find.text(tileTwo), findsNothing);

    await tester.tap(find.text('ExpansionTile 2'));
    await tester.pumpAndSettle();
    expect(find.text(tileTwo), findsOneWidget);

    const String tileThree = 'This is tile number 3';
    expect(find.text(tileThree), findsNothing);

    await tester.tap(find.text('ExpansionTile 3'));
    await tester.pumpAndSettle();
    expect(find.text(tileThree), findsOneWidget);
  });
}