11import 'package:celest_cli/codegen/allocator.dart' ;
2+ import 'package:celest_cli/project/project_paths.dart' ;
23import 'package:code_builder/code_builder.dart' ;
34import 'package:test/test.dart' ;
45
56void main () {
67 group ('CelestAllocator' , () {
7- group ('Windows' , testOn: 'windows' , () {
8- // When the temp dir (generated outputs) is on a separate drive from the source project,
9- // ensure that paths are absolute and not relative since there is no way to express a
10- // relative path between drives.
11- test ('separate drives' , () {
12- final reference = refer (
13- 'sayHello' ,
14- r'D:\workspace\celest_example\celest\functions\greeting.dart' ,
15- );
16- const generatingForPath =
17- r'C:\Users\celest\AppData\Local\Temp\af0ceaa9\functions\greeting\sayHello.dart' ;
18- final allocator = CelestAllocator (
19- forFile: generatingForPath,
20- pathStrategy: PathStrategy .robust,
21- prefixingStrategy: PrefixingStrategy .pretty,
22- );
23- final symbol = allocator.allocate (reference);
24- expect (symbol, r'_$greeting.sayHello' );
25- expect (
26- allocator.imports.single,
27- isA <Directive >().having (
28- (d) => d.url,
29- 'url' ,
30- 'file:///D:/workspace/celest_example/celest/functions/greeting.dart' ,
31- ),
32- );
33- });
34- });
35-
368 test ('de-dups import prefixes' , () async {
379 // Only applies in pretty mode.
3810 const prefixingStrategy = PrefixingStrategy .pretty;
@@ -50,6 +22,7 @@ void main() {
5022 prefixingStrategy: prefixingStrategy,
5123 packageName: 'celest_backend' ,
5224 clientPackageName: 'test_client' ,
25+ projectPaths: ProjectPaths ('/' ),
5326 );
5427 for (final uri in uris) {
5528 allocator.allocate (refer ('A' , uri.toString ()));
0 commit comments