| // Copyright 2013 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/widgets.dart'; |
| import 'package:flutter_test/flutter_test.dart'; |
| import 'package:rfw/formats.dart' show parseLibraryFile; |
| import 'package:rfw/rfw.dart'; |
| |
| void main() { |
| testWidgets('RemoteWidget', (WidgetTester tester) async { |
| final Runtime runtime1 = Runtime() |
| ..update(const LibraryName(<String>['core']), createCoreWidgets()) |
| ..update(const LibraryName(<String>['test']), parseLibraryFile(''' |
| import core; |
| widget root = Placeholder(); |
| ''')); |
| final Runtime runtime2 = Runtime() |
| ..update(const LibraryName(<String>['core']), createCoreWidgets()) |
| ..update(const LibraryName(<String>['test']), parseLibraryFile(''' |
| import core; |
| widget root = Container(); |
| ''')); |
| final DynamicContent data = DynamicContent(); |
| await tester.pumpWidget( |
| RemoteWidget( |
| runtime: runtime1, |
| data: data, |
| widget: const FullyQualifiedWidgetName( |
| LibraryName(<String>['test']), 'root'), |
| ), |
| ); |
| expect(find.byType(RemoteWidget), findsOneWidget); |
| expect(find.byType(Placeholder), findsOneWidget); |
| expect(find.byType(Container), findsNothing); |
| |
| await tester.pumpWidget( |
| RemoteWidget( |
| runtime: runtime2, |
| data: data, |
| widget: const FullyQualifiedWidgetName( |
| LibraryName(<String>['test']), 'root'), |
| ), |
| ); |
| expect(find.byType(RemoteWidget), findsOneWidget); |
| expect(find.byType(Placeholder), findsNothing); |
| expect(find.byType(Container), findsOneWidget); |
| }); |
| } |