@@ -671,6 +671,160 @@ void allTests() {
671671 expect (useClass.name).toEqual ("ServiceDep" );
672672 });
673673
674+ it ('should populate `providers` using toClass.' ,
675+ () async {
676+ var cmp =
677+ (await _testCreateModel ('directives_files/components.dart' )).identifiers['ComponentWithProvidersToClass' ];
678+
679+ expect (cmp).toBeNotNull ();
680+ expect (cmp.providers).toBeNotNull ();
681+ expect (cmp.providers.length).toEqual (1 );
682+
683+ var token = cmp.providers.first.token;
684+ var useExisting = cmp.providers.first.useClass;
685+
686+ expect (useExisting.prefix).toEqual (null );
687+ expect (useExisting.name).toEqual ("ServiceDep" );
688+ });
689+
690+ it ('should populate `providers` using useExisting.' ,
691+ () async {
692+ var cmp =
693+ (await _testCreateModel ('directives_files/components.dart' )).identifiers['ComponentWithProvidersUseExisting' ];
694+
695+ expect (cmp).toBeNotNull ();
696+ expect (cmp.providers).toBeNotNull ();
697+ expect (cmp.providers.length).toEqual (1 );
698+
699+ var token = cmp.providers.first.token;
700+ var useExisting = cmp.providers.first.useExisting;
701+
702+ expect (useExisting.prefix).toEqual (null );
703+ expect (useExisting.name).toEqual ("ServiceDep" );
704+ });
705+
706+ it ('should populate `providers` using toAlias.' ,
707+ () async {
708+ var cmp =
709+ (await _testCreateModel ('directives_files/components.dart' )).identifiers['ComponentWithProvidersToAlias' ];
710+
711+ expect (cmp).toBeNotNull ();
712+ expect (cmp.providers).toBeNotNull ();
713+ expect (cmp.providers.length).toEqual (1 );
714+
715+ var token = cmp.providers.first.token;
716+ var useExisting = cmp.providers.first.useExisting;
717+
718+ expect (useExisting.prefix).toEqual (null );
719+ expect (useExisting.name).toEqual ("ServiceDep" );
720+ });
721+
722+ it ('should populate `providers` using useExisting (string token).' ,
723+ () async {
724+ var cmp =
725+ (await _testCreateModel ('directives_files/components.dart' )).identifiers['ComponentWithProvidersUseExistingStr' ];
726+
727+ expect (cmp).toBeNotNull ();
728+ expect (cmp.providers).toBeNotNull ();
729+ expect (cmp.providers.length).toEqual (1 );
730+
731+ var token = cmp.providers.first.token;
732+ var useExisting = cmp.providers.first.useExisting;
733+
734+ expect (useExisting).toEqual ("StrToken" );
735+ });
736+
737+ it ('should populate `providers` using useValue.' ,
738+ () async {
739+ var cmp =
740+ (await _testCreateModel ('directives_files/components.dart' )).identifiers['ComponentWithProvidersUseValue' ];
741+
742+ expect (cmp).toBeNotNull ();
743+ expect (cmp.providers).toBeNotNull ();
744+ expect (cmp.providers.length).toEqual (1 );
745+
746+ var token = cmp.providers.first.token;
747+ var useValue = cmp.providers.first.useValue;
748+
749+ expect (useValue.prefix).toEqual (null );
750+ expect (useValue.name).toEqual ("ServiceDep" );
751+ });
752+
753+ it ('should populate `providers` using toValue.' ,
754+ () async {
755+ var cmp =
756+ (await _testCreateModel ('directives_files/components.dart' )).identifiers['ComponentWithProvidersToValue' ];
757+
758+ expect (cmp).toBeNotNull ();
759+ expect (cmp.providers).toBeNotNull ();
760+ expect (cmp.providers.length).toEqual (1 );
761+
762+ var token = cmp.providers.first.token;
763+ var useValue = cmp.providers.first.useValue;
764+
765+ expect (useValue.prefix).toEqual (null );
766+ expect (useValue.name).toEqual ("ServiceDep" );
767+ });
768+
769+ it ('should populate `providers` using useValue (string token).' ,
770+ () async {
771+ var cmp =
772+ (await _testCreateModel ('directives_files/components.dart' )).identifiers['ComponentWithProvidersUseValueStr' ];
773+
774+ expect (cmp).toBeNotNull ();
775+ expect (cmp.providers).toBeNotNull ();
776+ expect (cmp.providers.length).toEqual (1 );
777+
778+ var token = cmp.providers.first.token;
779+ var useValue = cmp.providers.first.useValue;
780+
781+ expect (useValue).toEqual ("StrToken" );
782+ });
783+
784+ it ('should populate `providers` using useFactory.' ,
785+ () async {
786+ var cmp =
787+ (await _testCreateModel ('directives_files/components.dart' )).identifiers['ComponentWithProvidersUseFactory' ];
788+
789+ expect (cmp).toBeNotNull ();
790+ expect (cmp.providers).toBeNotNull ();
791+ expect (cmp.providers.length).toEqual (1 );
792+
793+ var token = cmp.providers.first.token;
794+ var useFactory = cmp.providers.first.useFactory;
795+ var deps = cmp.providers.first.deps;
796+
797+ expect (useFactory.prefix).toEqual (null );
798+ expect (useFactory.name).toEqual ("funcDep" );
799+
800+ expect (deps[0 ].token.name).toEqual ("ServiceDep" );
801+ expect (deps[1 ].token).toEqual ("Str" );
802+ expect (deps[2 ].token.name).toEqual ("ServiceDep" );
803+ expect (deps[3 ].token.name).toEqual ("ServiceDep" );
804+ expect (deps[3 ].isSelf).toEqual (true );
805+ expect (deps[4 ].token.name).toEqual ("ServiceDep" );
806+ expect (deps[4 ].isSkipSelf).toEqual (true );
807+ expect (deps[5 ].token.name).toEqual ("ServiceDep" );
808+ expect (deps[5 ].isOptional).toEqual (true );
809+ });
810+
811+ it ('should populate `providers` using toFactory.' ,
812+ () async {
813+ var cmp =
814+ (await _testCreateModel ('directives_files/components.dart' )).identifiers['ComponentWithProvidersToFactory' ];
815+
816+ expect (cmp).toBeNotNull ();
817+ expect (cmp.providers).toBeNotNull ();
818+ expect (cmp.providers.length).toEqual (1 );
819+
820+ var token = cmp.providers.first.token;
821+ var useFactory = cmp.providers.first.useFactory;
822+ var deps = cmp.providers.first.deps;
823+
824+ expect (useFactory.prefix).toEqual (null );
825+ expect (useFactory.name).toEqual ("funcDep" );
826+ });
827+
674828 it ('should populate `providers` using a string token.' ,
675829 () async {
676830 var cmp =
0 commit comments