|
| 1 | +// Copyright 2013 The Flutter Authors. All rights reserved. |
| 2 | +// Use of this source code is governed by a BSD-style license that can be |
| 3 | +// found in the LICENSE file. |
| 4 | + |
| 5 | +import 'dart:async'; |
| 6 | + |
| 7 | +import 'package:flutter/widgets.dart'; |
| 8 | +import 'package:flutter_test/flutter_test.dart'; |
| 9 | +import 'package:integration_test/integration_test.dart'; |
| 10 | +import 'package:ios_platform_images/ios_platform_images.dart'; |
| 11 | + |
| 12 | +void main() { |
| 13 | + IntegrationTestWidgetsFlutterBinding.ensureInitialized(); |
| 14 | + |
| 15 | + testWidgets('resolves URL', (WidgetTester _) async { |
| 16 | + final String? path = await IosPlatformImages.resolveURL('textfile'); |
| 17 | + expect(Uri.parse(path!).scheme, 'file'); |
| 18 | + expect(path.contains('Runner.app'), isTrue); |
| 19 | + }); |
| 20 | + |
| 21 | + testWidgets('loads image', (WidgetTester _) async { |
| 22 | + final Completer<bool> successCompleter = Completer<bool>(); |
| 23 | + final ImageProvider<Object> provider = IosPlatformImages.load('flutter'); |
| 24 | + final ImageStream imageStream = provider.resolve(ImageConfiguration.empty); |
| 25 | + imageStream.addListener( |
| 26 | + ImageStreamListener((ImageInfo image, bool synchronousCall) { |
| 27 | + successCompleter.complete(true); |
| 28 | + }, onError: (Object e, StackTrace? _) { |
| 29 | + successCompleter.complete(false); |
| 30 | + })); |
| 31 | + |
| 32 | + final bool succeeded = await successCompleter.future; |
| 33 | + expect(succeeded, true); |
| 34 | + }); |
| 35 | +} |
0 commit comments