| // 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/services.dart'; |
| import 'package:flutter_test/flutter_test.dart'; |
| import 'package:google_maps_flutter_android/google_maps_flutter_android.dart'; |
| import 'package:google_maps_flutter_platform_interface/google_maps_flutter_platform_interface.dart'; |
| import 'package:integration_test/integration_test.dart'; |
| |
| import 'google_maps_tests.dart' show googleMapsTests; |
| |
| void main() { |
| late AndroidMapRenderer initializedRenderer; |
| IntegrationTestWidgetsFlutterBinding.ensureInitialized(); |
| |
| setUpAll(() async { |
| final GoogleMapsFlutterAndroid instance = |
| GoogleMapsFlutterPlatform.instance as GoogleMapsFlutterAndroid; |
| initializedRenderer = |
| await instance.initializeWithRenderer(AndroidMapRenderer.legacy); |
| }); |
| |
| testWidgets('initialized with legacy renderer', (WidgetTester _) async { |
| expect(initializedRenderer, AndroidMapRenderer.legacy); |
| }); |
| |
| testWidgets('throws PlatformException on multiple renderer initializations', |
| (WidgetTester _) async { |
| final GoogleMapsFlutterAndroid instance = |
| GoogleMapsFlutterPlatform.instance as GoogleMapsFlutterAndroid; |
| expect( |
| () async => instance.initializeWithRenderer(AndroidMapRenderer.legacy), |
| throwsA(isA<PlatformException>().having((PlatformException e) => e.code, |
| 'code', 'Renderer already initialized'))); |
| }); |
| |
| // Run tests. |
| googleMapsTests(); |
| } |