Skip to content

Commit 366b272

Browse files
committed
Adjust and add tests for popScopesTill
1 parent c48f5ca commit 366b272

File tree

1 file changed

+54
-22
lines changed

1 file changed

+54
-22
lines changed

test/scope_test.dart

Lines changed: 54 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,7 @@ void main() {
330330
expect(isShadowed, false);
331331
expect(shadowingObject, shadowingInstance);
332332
});
333+
333334
test('popscope', () async {
334335
final getIt = GetIt.instance;
335336
constructorCounter = 0;
@@ -362,63 +363,93 @@ void main() {
362363
);
363364
});
364365

365-
test('popscopeuntil inclusive=true', () async {
366+
test('popScopesTill inclusive=true', () async {
366367
final getIt = GetIt.instance;
367368
constructorCounter = 0;
368369

369370
getIt.registerSingleton<TestClass>(TestClass('Basescope'));
370371

371372
getIt.pushNewScope(scopeName: 'Level1');
372-
373-
getIt.registerSingleton<TestClass>(TestClass('2. scope'));
373+
getIt.registerSingleton<TestClass>(TestClass('1. scope'));
374374

375375
getIt.pushNewScope(scopeName: 'Level2');
376+
getIt.registerSingleton<TestClass>(TestClass('2. scope'));
376377

378+
getIt.pushNewScope(scopeName: 'Level3');
377379
getIt.registerSingleton<TestClass>(TestClass('3. scope'));
380+
expect(getIt.get<TestClass>().id, '3. scope');
378381

379-
final instanceTestClassScope3 = getIt.get<TestClass>();
380-
381-
expect(instanceTestClassScope3.id, '3. scope');
382+
await getIt.popScopesTill('Level2');
382383

383-
await getIt.popScopesTill('Level1');
384-
385-
final instanceTestClassScope1 = getIt.get<TestClass>();
386-
387-
expect(instanceTestClassScope1.id, 'Basescope');
384+
expect(getIt.get<TestClass>().id, '1. scope');
388385
expect(
389386
() => getIt.get<TestClass2>(),
390387
throwsStateError,
391388
);
392389
});
393-
test('popscopeuntil inclusive=false', () async {
390+
391+
test('popScopesTill inclusive=false', () async {
394392
final getIt = GetIt.instance;
395393
constructorCounter = 0;
396394

397395
getIt.registerSingleton<TestClass>(TestClass('Basescope'));
398396

399397
getIt.pushNewScope(scopeName: 'Level1');
400-
401-
getIt.registerSingleton<TestClass>(TestClass('2. scope'));
398+
getIt.registerSingleton<TestClass>(TestClass('1. scope'));
402399

403400
getIt.pushNewScope(scopeName: 'Level2');
401+
getIt.registerSingleton<TestClass>(TestClass('2. scope'));
404402

403+
getIt.pushNewScope(scopeName: 'Level3');
405404
getIt.registerSingleton<TestClass>(TestClass('3. scope'));
405+
expect(getIt.get<TestClass>().id, '3. scope');
406406

407-
final instanceTestClassScope3 = getIt.get<TestClass>();
408-
409-
expect(instanceTestClassScope3.id, '3. scope');
410-
411-
await getIt.popScopesTill('Level1', inclusive: false);
407+
await getIt.popScopesTill('Level2', inclusive: false);
412408

413-
final instanceTestClassScope1 = getIt.get<TestClass>();
414-
415-
expect(instanceTestClassScope1.id, '2. scope');
409+
expect(getIt.get<TestClass>().id, '2. scope');
416410
expect(
417411
() => getIt.get<TestClass2>(),
418412
throwsStateError,
419413
);
420414
});
421415

416+
test('popScopesTill invalid scope', () async {
417+
final getIt = GetIt.instance;
418+
419+
getIt.pushNewScope(scopeName: 'Level1');
420+
getIt.pushNewScope(scopeName: 'Level2');
421+
getIt.pushNewScope(scopeName: 'Level3');
422+
423+
expect(getIt.hasScope('Level1'), isTrue);
424+
expect(getIt.hasScope('Level2'), isTrue);
425+
expect(getIt.hasScope('Level3'), isTrue);
426+
427+
await getIt.popScopesTill('Level4');
428+
429+
expect(getIt.hasScope('Level1'), isTrue);
430+
expect(getIt.hasScope('Level2'), isTrue);
431+
expect(getIt.hasScope('Level3'), isTrue);
432+
});
433+
434+
435+
test('popScopesTill inclusive=false top scope', () async {
436+
final getIt = GetIt.instance;
437+
438+
getIt.pushNewScope(scopeName: 'Level1');
439+
getIt.pushNewScope(scopeName: 'Level2');
440+
getIt.pushNewScope(scopeName: 'Level3');
441+
442+
expect(getIt.hasScope('Level1'), isTrue);
443+
expect(getIt.hasScope('Level2'), isTrue);
444+
expect(getIt.hasScope('Level3'), isTrue);
445+
446+
await getIt.popScopesTill('Level3', inclusive: false);
447+
448+
expect(getIt.hasScope('Level1'), isTrue);
449+
expect(getIt.hasScope('Level2'), isTrue);
450+
expect(getIt.hasScope('Level3'), isTrue);
451+
});
452+
422453
test('popscope with destructors', () async {
423454
final getIt = GetIt.instance;
424455

@@ -446,6 +477,7 @@ void main() {
446477

447478
expect(disposeCounter, 3);
448479
});
480+
449481
test('popscope with destructors', () async {
450482
final getIt = GetIt.instance;
451483

0 commit comments

Comments
 (0)