unique_widget_test.dart 1.04 KB
Newer Older
Ian Hickson's avatar
Ian Hickson committed
1
// Copyright 2014 The Flutter Authors. All rights reserved.
2 3 4
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

5 6
// @dart = 2.8

7 8 9 10
import 'package:flutter_test/flutter_test.dart';
import 'package:flutter/widgets.dart';

class TestUniqueWidget extends UniqueWidget<TestUniqueWidgetState> {
11
  const TestUniqueWidget({ GlobalKey<TestUniqueWidgetState> key }) : super(key: key);
12 13

  @override
14
  TestUniqueWidgetState createState() => TestUniqueWidgetState();
15 16 17 18
}

class TestUniqueWidgetState extends State<TestUniqueWidget> {
  @override
19
  Widget build(BuildContext context) => Container();
20 21 22 23
}

void main() {
  testWidgets('Unique widget control test', (WidgetTester tester) async {
24
    final TestUniqueWidget widget = TestUniqueWidget(key: GlobalKey<TestUniqueWidgetState>());
25 26 27

    await tester.pumpWidget(widget);

28
    final TestUniqueWidgetState state = widget.currentState;
29 30 31

    expect(state, isNotNull);

32
    await tester.pumpWidget(Container(child: widget));
33 34 35 36

    expect(widget.currentState, equals(state));
  });
}