@@ -35,124 +35,114 @@ class FeatureSetProviderTest with ResourceProviderMixin {
3535 _createSourceFactory ();
3636 }
3737
38- test_jsonConfig_defaultNonNullable () {
39- var jsonConfigPath = '/test/.dart_tool/package_config.json' ;
40- var jsonConfigFile = newFile (jsonConfigPath, content: '''
41- {
42- "configVersion": 2,
43- "packages": [
44- {
45- "name": "test",
46- "rootUri": "../",
47- "packageUri": "lib/"
48- },
49- {
50- "name": "aaa",
51- "rootUri": "${toUriStr ('/packages/aaa' )}",
52- "packageUri": "lib/",
53- "languageVersion": "2.7"
54- },
55- {
56- "name": "bbb",
57- "rootUri": "${toUriStr ('/packages/bbb' )}",
58- "packageUri": "lib/"
59- }
60- ]
61- }
62- ''' );
63-
64- var packages = parsePackageConfigJsonFile (
65- resourceProvider,
66- jsonConfigFile,
38+ test_packages () {
39+ var packages = Packages (
40+ {
41+ 'aaa' : Package (
42+ name: 'aaa' ,
43+ rootFolder: newFolder ('/packages/aaa' ),
44+ libFolder: newFolder ('/packages/aaa/lib' ),
45+ languageVersion: null ,
46+ ),
47+ 'bbb' : Package (
48+ name: 'bbb' ,
49+ rootFolder: newFolder ('/packages/bbb' ),
50+ libFolder: newFolder ('/packages/bbb/lib' ),
51+ languageVersion: Version (2 , 7 , 0 ),
52+ ),
53+ 'ccc' : Package (
54+ name: 'ccc' ,
55+ rootFolder: newFolder ('/packages/ccc' ),
56+ libFolder: newFolder ('/packages/ccc/lib' ),
57+ languageVersion: Version (2 , 8 , 0 ),
58+ ),
59+ },
6760 );
61+
6862 _createSourceFactory (
6963 packageUriResolver: _createPackageMapUriResolver (packages),
7064 );
7165
72- _simulateNonNullableSdk ();
73- _buildProvider ([ 'non-nullable' ]);
74-
75- _assertNonNullableForPath ( '/test/a.dart' , true );
76- _assertNonNullableForPath ( '/test/lib/b.dart' , true );
77- _assertNonNullableForPath ( '/test/test/c.dart' , true );
66+ provider = FeatureSetProvider . build (
67+ resourceProvider : resourceProvider,
68+ packages : packages,
69+ packageDefaultFeatureSet : FeatureSet . fromEnableFlags ([]),
70+ nonPackageDefaultFeatureSet : FeatureSet . fromEnableFlags ([]),
71+ );
7872
7973 _assertNonNullableForPath ('/packages/aaa/a.dart' , false );
8074 _assertNonNullableForPath ('/packages/aaa/lib/b.dart' , false );
8175 _assertNonNullableForPath ('/packages/aaa/test/c.dart' , false );
8276
83- _assertNonNullableForPath ('/packages/bbb/a.dart' , true );
84- _assertNonNullableForPath ('/packages/bbb/lib/b.dart' , true );
85- _assertNonNullableForPath ('/packages/bbb/test/c.dart' , true );
77+ _assertNonNullableForPath ('/packages/bbb/a.dart' , false );
78+ _assertNonNullableForPath ('/packages/bbb/lib/b.dart' , false );
79+ _assertNonNullableForPath ('/packages/bbb/test/c.dart' , false );
8680
87- _assertNonNullableForPath ('/other/file.dart' , true );
81+ _assertNonNullableForPath ('/packages/ccc/a.dart' , false );
82+ _assertNonNullableForPath ('/packages/ccc/lib/b.dart' , false );
83+ _assertNonNullableForPath ('/packages/ccc/test/c.dart' , false );
84+
85+ _assertNonNullableForPath ('/other/file.dart' , false );
8886 }
8987
90- test_nonPackageDefaultFeatureSet () {
91- newFile ('/test/.packages' , content: '''
92- test:lib/
93- ''' );
94- _simulateNonNullableSdk ();
95- _buildProvider (['non-nullable' ]);
88+ test_packages_enabledExperiment_nonNullable () {
89+ var packages = Packages (
90+ {
91+ 'aaa' : Package (
92+ name: 'aaa' ,
93+ rootFolder: newFolder ('/packages/aaa' ),
94+ libFolder: newFolder ('/packages/aaa/lib' ),
95+ languageVersion: null ,
96+ ),
97+ 'bbb' : Package (
98+ name: 'bbb' ,
99+ rootFolder: newFolder ('/packages/bbb' ),
100+ libFolder: newFolder ('/packages/bbb/lib' ),
101+ languageVersion: Version (2 , 7 , 0 ),
102+ ),
103+ 'ccc' : Package (
104+ name: 'ccc' ,
105+ rootFolder: newFolder ('/packages/ccc' ),
106+ libFolder: newFolder ('/packages/ccc/lib' ),
107+ languageVersion: Version (2 , 8 , 0 ),
108+ ),
109+ },
110+ );
111+
112+ _createSourceFactory (
113+ packageUriResolver: _createPackageMapUriResolver (packages),
114+ );
96115
97116 provider = FeatureSetProvider .build (
98117 resourceProvider: resourceProvider,
99- packages: Packages (
100- {
101- 'aaa' : Package (
102- name: 'aaa' ,
103- rootFolder: newFolder ('/packages/aaa' ),
104- libFolder: newFolder ('/packages/aaa/lib' ),
105- languageVersion: null ,
106- ),
107- 'bbb' : Package (
108- name: 'bbb' ,
109- rootFolder: newFolder ('/packages/bbb' ),
110- libFolder: newFolder ('/packages/bbb/lib' ),
111- languageVersion: Version (2 , 7 , 0 ),
112- ),
113- },
114- ),
115- sourceFactory: sourceFactory,
118+ packages: packages,
116119 packageDefaultFeatureSet: FeatureSet .fromEnableFlags (['non-nullable' ]),
117120 nonPackageDefaultFeatureSet: FeatureSet .fromEnableFlags ([]),
118121 );
119122
120- _assertNonNullableForPath ('/packages/aaa/lib/a.dart' , true );
121- _assertNonNullableForPath ('/packages/aaa/test/b.dart' , true );
123+ _assertNonNullableForPath ('/packages/aaa/a.dart' , true );
124+ _assertNonNullableForPath ('/packages/aaa/lib/b.dart' , true );
125+ _assertNonNullableForPath ('/packages/aaa/test/c.dart' , true );
122126
123- _assertNonNullableForPath ('/packages/bbb/lib/a.dart' , false );
124- _assertNonNullableForPath ('/packages/bbb/test/b.dart' , false );
125-
126- _assertNonNullableForPath ('/foo/bar.dart' , false );
127- }
127+ _assertNonNullableForPath ('/packages/bbb/a.dart' , false );
128+ _assertNonNullableForPath ('/packages/bbb/lib/b.dart' , false );
129+ _assertNonNullableForPath ('/packages/bbb/test/c.dart' , false );
128130
129- test_sdk_defaultLegacy_sdkLegacy () {
130- newFile ('/test/.packages' , content: '''
131- test:lib/
132- ''' );
133- _simulateLegacySdk ();
134- _buildProvider ([]);
131+ _assertNonNullableForPath ('/packages/ccc/a.dart' , true );
132+ _assertNonNullableForPath ('/packages/ccc/lib/b.dart' , true );
133+ _assertNonNullableForPath ('/packages/ccc/test/c.dart' , true );
135134
136- var featureSet = _getSdkFeatureSet ();
137- expect (featureSet.isEnabled (Feature .non_nullable), isTrue);
135+ _assertNonNullableForPath ('/other/file.dart' , false );
138136 }
139137
140- test_sdk_defaultNonNullable_sdkLegacy () {
141- newFile ('/test/.packages' , content: '''
142- test:lib/
143- ''' );
144- _simulateLegacySdk ();
145- _buildProvider (['non-nullable' ]);
138+ test_sdk () {
139+ _buildProvider ([]);
146140
147141 var featureSet = _getSdkFeatureSet ();
148142 expect (featureSet.isEnabled (Feature .non_nullable), isTrue);
149143 }
150144
151- test_sdk_defaultNonNullable_sdkNonNullable () {
152- newFile ('/test/.packages' , content: '''
153- test:lib/
154- ''' );
155- _simulateNonNullableSdk ();
145+ test_sdk_enabledExperiment_nonNullable () {
156146 _buildProvider (['non-nullable' ]);
157147
158148 var featureSet = _getSdkFeatureSet ();
@@ -169,7 +159,6 @@ test:lib/
169159 provider = FeatureSetProvider .build (
170160 resourceProvider: resourceProvider,
171161 packages: findPackagesFrom (resourceProvider, getFolder ('/test' )),
172- sourceFactory: sourceFactory,
173162 packageDefaultFeatureSet: featureSet,
174163 nonPackageDefaultFeatureSet: featureSet,
175164 );
@@ -208,17 +197,4 @@ test:lib/
208197 var mathPath = sourceFactory.forUri2 (mathUri).fullName;
209198 return provider.getFeatureSet (mathPath, mathUri);
210199 }
211-
212- void _replaceDartCoreObject (String content) {
213- var path = sourceFactory.forUri ('dart:core' ).fullName;
214- newFile (path, content: content);
215- }
216-
217- void _simulateLegacySdk () {
218- _replaceDartCoreObject ('// no marker' );
219- }
220-
221- void _simulateNonNullableSdk () {
222- _replaceDartCoreObject ('// bool operator ==(Object other)' );
223- }
224200}
0 commit comments