@@ -38,6 +38,31 @@ class AnalysisOptionsMapTest with ResourceProviderMixin {
38
38
expect (map.getOptions (file).file, isNull);
39
39
}
40
40
41
+ /// https://github.com/dart-lang/sdk/issues/55252
42
+ test_optionsMapLookup () {
43
+ AnalysisOptions optionsFor (String file) =>
44
+ map.getOptions (newFile (file, '' ));
45
+
46
+ AnalysisOptions addOptions (String folder) {
47
+ var options = AnalysisOptionsImpl ();
48
+ map.add (newFolder (folder), options);
49
+ return options;
50
+ }
51
+
52
+ var fOptions = addOptions ('/home/test/f' );
53
+ addOptions ('/home/test/g' );
54
+ var fghOptions = addOptions ('/home/test/f/g/h' );
55
+ var fghiOptions = addOptions ('/home/test/f/g/h/i' );
56
+ addOptions ('/home/test/h' );
57
+ var fgOptions = addOptions ('/home/test/f/g' );
58
+
59
+ // Ensure lookup retrieves the most specific options files.
60
+ expect (optionsFor ('/home/test/f/c.dart' ), fOptions);
61
+ expect (optionsFor ('/home/test/f/g/c.dart' ), fgOptions);
62
+ expect (optionsFor ('/home/test/f/g/h/c.dart' ), fghOptions);
63
+ expect (optionsFor ('/home/test/f/g/h/i/c.dart' ), fghiOptions);
64
+ }
65
+
41
66
test_singleOptions () {
42
67
var rootOptions = AnalysisOptionsImpl ();
43
68
var rootFolder = newFolder ('/home/test' );
0 commit comments