Jermaine McFarlane

test all replace iterations

@@ -157,12 +157,43 @@ void main() { @@ -157,12 +157,43 @@ void main() {
157 }); 157 });
158 }); 158 });
159 159
160 - test('Get.replace test for replacing parent instance with child', () async { 160 + test('Get.replace test for replacing temporary parent instance with child',
  161 + () async {
  162 + Get.put(DisposableController());
161 Get.replace<DisposableController, Controller>(Controller()); 163 Get.replace<DisposableController, Controller>(Controller());
162 final instance = Get.find<DisposableController>(); 164 final instance = Get.find<DisposableController>();
163 expect(instance is Controller, isTrue); 165 expect(instance is Controller, isTrue);
164 expect((instance as Controller).init, greaterThan(0)); 166 expect((instance as Controller).init, greaterThan(0));
165 }); 167 });
  168 +
  169 + test('Get.replace test for replacing permanent parent instance with child',
  170 + () async {
  171 + Get.put(DisposableController(), permanent: true);
  172 + Get.replace<DisposableController, Controller>(Controller());
  173 + final instance = Get.find<DisposableController>();
  174 + expect(instance is Controller, isTrue);
  175 + expect((instance as Controller).init, greaterThan(0));
  176 + });
  177 +
  178 + test('Get.replace test for replacing tagged temporary instance with child',
  179 + () async {
  180 + final tag = 'tag';
  181 + Get.put(DisposableController(), tag: tag);
  182 + Get.replace<DisposableController, Controller>(Controller(), tag: tag);
  183 + final instance = Get.find<DisposableController>(tag: tag);
  184 + expect(instance is Controller, isTrue);
  185 + expect((instance as Controller).init, greaterThan(0));
  186 + });
  187 +
  188 + test('Get.replace test for replacing tagged parent instance with child',
  189 + () async {
  190 + final tag = 'tag';
  191 + Get.put(DisposableController(), permanent: true, tag: tag);
  192 + Get.replace<DisposableController, Controller>(Controller(), tag: tag);
  193 + final instance = Get.find<DisposableController>(tag: tag);
  194 + expect(instance is Controller, isTrue);
  195 + expect((instance as Controller).init, greaterThan(0));
  196 + });
166 } 197 }
167 198
168 class Controller extends DisposableController { 199 class Controller extends DisposableController {