Showing
7 changed files
with
18 additions
and
11 deletions
@@ -79,7 +79,7 @@ class GetInstance { | @@ -79,7 +79,7 @@ class GetInstance { | ||
79 | .putIfAbsent(key, () => FcBuilder<S>(isSingleton, builder, permanent)); | 79 | .putIfAbsent(key, () => FcBuilder<S>(isSingleton, builder, permanent)); |
80 | } | 80 | } |
81 | 81 | ||
82 | - void removeDependencyByRoute(String routeName) async { | 82 | + Future<void> removeDependencyByRoute(String routeName) async { |
83 | List<String> keysToRemove = []; | 83 | List<String> keysToRemove = []; |
84 | GetConfig.routesKey.forEach((key, value) { | 84 | GetConfig.routesKey.forEach((key, value) { |
85 | // if (value == routeName && value != null) { | 85 | // if (value == routeName && value != null) { |
@@ -87,6 +87,7 @@ class GetInstance { | @@ -87,6 +87,7 @@ class GetInstance { | ||
87 | keysToRemove.add(key); | 87 | keysToRemove.add(key); |
88 | } | 88 | } |
89 | }); | 89 | }); |
90 | + | ||
90 | keysToRemove.forEach((element) async { | 91 | keysToRemove.forEach((element) async { |
91 | await delete(key: element); | 92 | await delete(key: element); |
92 | }); | 93 | }); |
@@ -388,11 +388,10 @@ class GetPageRoute<T> extends PageRoute<T> { | @@ -388,11 +388,10 @@ class GetPageRoute<T> extends PageRoute<T> { | ||
388 | 388 | ||
389 | @override | 389 | @override |
390 | void dispose() { | 390 | void dispose() { |
391 | + super.dispose(); | ||
391 | if (GetConfig.smartManagement != SmartManagement.onlyBuilder) { | 392 | if (GetConfig.smartManagement != SmartManagement.onlyBuilder) { |
392 | - Future.delayed(Duration.zero, | ||
393 | - () => GetInstance().removeDependencyByRoute("${settings.name}")); | 393 | + GetInstance().removeDependencyByRoute("${settings.name}"); |
394 | } | 394 | } |
395 | - super.dispose(); | ||
396 | } | 395 | } |
397 | } | 396 | } |
398 | 397 |
@@ -49,4 +49,14 @@ void main() { | @@ -49,4 +49,14 @@ void main() { | ||
49 | expect(ct1, api); | 49 | expect(ct1, api); |
50 | Get.reset(); | 50 | Get.reset(); |
51 | }); | 51 | }); |
52 | + | ||
53 | + test('Get.create with abstract class test', () async { | ||
54 | + Get.create<Service>(() => Api()); | ||
55 | + final ct1 = Get.find<Service>(); | ||
56 | + final ct2 = Get.find<Service>(); | ||
57 | + expect(ct1 is Service, true); | ||
58 | + expect(ct2 is Service, true); | ||
59 | + expect(ct1 == ct2, false); | ||
60 | + Get.reset(); | ||
61 | + }); | ||
52 | } | 62 | } |
@@ -34,6 +34,8 @@ void main() { | @@ -34,6 +34,8 @@ void main() { | ||
34 | 34 | ||
35 | Get.to(SecondScreen()); | 35 | Get.to(SecondScreen()); |
36 | 36 | ||
37 | + await tester.pump(Duration.zero); | ||
38 | + | ||
37 | await tester.pumpAndSettle(); | 39 | await tester.pumpAndSettle(); |
38 | 40 | ||
39 | expect(find.byType(SecondScreen), findsOneWidget); | 41 | expect(find.byType(SecondScreen), findsOneWidget); |
test/get_test.dart
deleted
100644 → 0
@@ -2,7 +2,7 @@ import 'dart:io'; | @@ -2,7 +2,7 @@ import 'dart:io'; | ||
2 | 2 | ||
3 | import 'package:flutter_test/flutter_test.dart'; | 3 | import 'package:flutter_test/flutter_test.dart'; |
4 | import 'package:get/get.dart'; | 4 | import 'package:get/get.dart'; |
5 | -import 'package:get/src/platform/platform_web.dart'; | 5 | +import 'package:get/src/utils/platform/platform_web.dart'; |
6 | 6 | ||
7 | void main() { | 7 | void main() { |
8 | test('Platform test', () { | 8 | test('Platform test', () { |
1 | import 'package:flutter/material.dart'; | 1 | import 'package:flutter/material.dart'; |
2 | import 'package:flutter_test/flutter_test.dart'; | 2 | import 'package:flutter_test/flutter_test.dart'; |
3 | -import 'package:get/src/routes/get_route.dart'; | 3 | +import 'package:get/src/navigation/routes/get_route.dart'; |
4 | 4 | ||
5 | void main() { | 5 | void main() { |
6 | testWidgets( | 6 | testWidgets( |
-
Please register or login to post a comment