@@ -47,6 +47,12 @@ class ExtensionTestManager {
47
47
/// .dart_tool/ # Generated from 'pub get'
48
48
/// package_config.json # Generated from 'pub get'
49
49
/// pubspec.yaml
50
+ /// workspace_root/
51
+ /// .dart_tool/ # Generated from 'pub get'
52
+ /// package_config.json # Generated from 'pub get'
53
+ /// pubspec.yaml # Defines workspace
54
+ /// wokspace_member
55
+ /// pubspec.yaml
50
56
/// extensions/
51
57
/// static_extension_1/
52
58
/// extension/
@@ -90,7 +96,7 @@ class ExtensionTestManager {
90
96
expect (testDirectoryContents.length, 2 );
91
97
final packageRoots =
92
98
Directory .fromUri (packagesRootUri).listSync ().whereType <Directory >();
93
- expect (packageRoots.length, 3 );
99
+ expect (packageRoots.length, 4 );
94
100
95
101
for (final packageRoot in packageRoots) {
96
102
expect (File (p.join (packageRoot.path, 'pubspec.yaml' )).existsSync (), true );
@@ -129,6 +135,12 @@ class ExtensionTestManager {
129
135
/// .dart_tool/ # Generated from 'pub get'
130
136
/// package_config.json # Generated from 'pub get'
131
137
/// pubspec.yaml
138
+ /// workspace_root/
139
+ /// .dart_tool/ # Generated from 'pub get'
140
+ /// package_config.json # Generated from 'pub get'
141
+ /// pubspec.yaml # Defines workspace
142
+ /// workspace_member/
143
+ /// pubspec.yaml
132
144
void _setupPackages ({
133
145
required bool includeDependenciesWithExtensions,
134
146
required bool includeBadExtension,
@@ -152,6 +164,45 @@ class ExtensionTestManager {
152
164
includeDependenciesWithExtensions: includeDependenciesWithExtensions,
153
165
),
154
166
);
167
+ setupWorkspace (
168
+ createTestPackageFrom (
169
+ workspaceMember,
170
+ includeDependenciesWithExtensions: includeDependenciesWithExtensions,
171
+ ),
172
+ );
173
+ }
174
+
175
+ void setupWorkspace (TestPackage package) {
176
+ File (
177
+ p.join (
178
+ testDirectory.path,
179
+ 'packages' ,
180
+ 'workspace_root' ,
181
+ 'pubspec.yaml' ,
182
+ ),
183
+ )
184
+ ..createSync (recursive: true )
185
+ ..writeAsStringSync ('''
186
+ name: _
187
+ environment:
188
+ sdk: "^3.5.0"
189
+ workspace:
190
+ - ${package .name }
191
+ ''' );
192
+ File (
193
+ p.join (
194
+ testDirectory.path,
195
+ 'packages' ,
196
+ 'workspace_root' ,
197
+ package.name,
198
+ 'pubspec.yaml' ,
199
+ ),
200
+ )
201
+ ..createSync (recursive: true )
202
+ ..writeAsStringSync ('''
203
+ ${package .pubspecContent }
204
+ resolution: workspace
205
+ ''' );
155
206
}
156
207
157
208
/// extensions/
@@ -239,6 +290,7 @@ TestPackage createTestPackageFrom(
239
290
name: originalPackage.name,
240
291
dependencies:
241
292
includeDependenciesWithExtensions ? originalPackage.dependencies : [],
293
+ pathToExtensions: originalPackage.pathToExtensions,
242
294
);
243
295
}
244
296
@@ -258,6 +310,11 @@ final otherRoot2Package = TestPackage(
258
310
name: 'other_root_2' ,
259
311
dependencies: [newerStaticExtension1Package],
260
312
);
313
+ final workspaceMember = TestPackage (
314
+ name: 'workspace_member' ,
315
+ dependencies: [staticExtension1Package],
316
+ pathToExtensions: '../../../extensions' ,
317
+ );
261
318
262
319
final driftPackage = TestPackageWithExtension (
263
320
name: 'drift' ,
@@ -355,15 +412,20 @@ environment:
355
412
}
356
413
357
414
class TestPackage {
358
- const TestPackage ({required this .name, required this .dependencies});
415
+ const TestPackage ({
416
+ required this .name,
417
+ required this .dependencies,
418
+ this .pathToExtensions = '../../extensions' ,
419
+ });
359
420
360
421
final String name;
361
422
final List <TestPackageWithExtension > dependencies;
423
+ final String pathToExtensions;
362
424
363
425
String get pubspecContent => '''
364
426
name: $name
365
427
environment:
366
- sdk: ">=3.4.0-282.1.beta <4.0 .0"
428
+ sdk: "^3.5 .0"
367
429
dependencies:
368
430
${_dependenciesAsString ()}
369
431
''' ;
@@ -378,7 +440,7 @@ ${_dependenciesAsString()}
378
440
sb
379
441
..writeln () // Add a new line for the path dependency.
380
442
..writeln (
381
- ' path: ../../extensions /${dep .relativePathFromExtensions }' ,
443
+ ' path: $ pathToExtensions /${dep .relativePathFromExtensions }' ,
382
444
);
383
445
}
384
446
}
0 commit comments