Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(340)

Side by Side Diff: pkg/front_end/test/src/base/processed_options_test.dart

Issue 2994683002: Replace fake directories with actual createDirectory(). (Closed)
Patch Set: Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 import 'dart:async'; 5 import 'dart:async';
6 6
7 import 'package:front_end/compiler_options.dart'; 7 import 'package:front_end/compiler_options.dart';
8 import 'package:front_end/memory_file_system.dart'; 8 import 'package:front_end/memory_file_system.dart';
9 import 'package:front_end/src/base/processed_options.dart'; 9 import 'package:front_end/src/base/processed_options.dart';
10 import 'package:front_end/src/fasta/fasta.dart' show ByteSink; 10 import 'package:front_end/src/fasta/fasta.dart' show ByteSink;
11 import 'package:front_end/src/fasta/fasta_codes.dart'; 11 import 'package:front_end/src/fasta/fasta_codes.dart';
12 import 'package:kernel/binary/ast_to_binary.dart' show BinaryPrinter; 12 import 'package:kernel/binary/ast_to_binary.dart' show BinaryPrinter;
13 import 'package:kernel/kernel.dart' show Program, Library, CanonicalName; 13 import 'package:kernel/kernel.dart' show Program, Library, CanonicalName;
14 import 'package:package_config/packages.dart' show Packages; 14 import 'package:package_config/packages.dart' show Packages;
15
16 import 'package:test/test.dart'; 15 import 'package:test/test.dart';
17 import 'package:test_reflective_loader/test_reflective_loader.dart'; 16 import 'package:test_reflective_loader/test_reflective_loader.dart';
18 17
19 main() { 18 main() {
20 defineReflectiveSuite(() { 19 defineReflectiveSuite(() {
21 defineReflectiveTests(ProcessedOptionsTest); 20 defineReflectiveTests(ProcessedOptionsTest);
22 }); 21 });
23 } 22 }
24 23
25 @reflectiveTest 24 @reflectiveTest
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 .writeAsStringSync('foo:baz\n'); 135 .writeAsStringSync('foo:baz\n');
137 var raw = new CompilerOptions() 136 var raw = new CompilerOptions()
138 ..fileSystem = fileSystem 137 ..fileSystem = fileSystem
139 ..packagesFileUri = Uri.parse('file:///explicit.packages'); 138 ..packagesFileUri = Uri.parse('file:///explicit.packages');
140 var processed = new ProcessedOptions(raw); 139 var processed = new ProcessedOptions(raw);
141 var uriTranslator = await processed.getUriTranslator(); 140 var uriTranslator = await processed.getUriTranslator();
142 checkPackageExpansion('foo', 'baz', uriTranslator.packages); 141 checkPackageExpansion('foo', 'baz', uriTranslator.packages);
143 } 142 }
144 143
145 test_getUriTranslator_implicitPackagesFile_nextToScript() async { 144 test_getUriTranslator_implicitPackagesFile_nextToScript() async {
146 // Fake the existence of the base directory. 145 // Create the base directory.
147 fileSystem 146 fileSystem
148 .entityForUri(Uri.parse('file:///base/location/')) 147 .entityForUri(Uri.parse('file:///base/location/'))
149 .writeAsStringSync(''); 148 .createDirectory();
150 // Packages directory should be ignored (.packages file takes precedence). 149 // Packages directory should be ignored (.packages file takes precedence).
151 fileSystem 150 fileSystem
152 .entityForUri(Uri.parse('file:///base/location/packages/')) 151 .entityForUri(Uri.parse('file:///base/location/packages/'))
153 .writeAsStringSync(''); 152 .createDirectory();
154 // This .packages file should be ignored. 153 // This .packages file should be ignored.
155 fileSystem 154 fileSystem
156 .entityForUri(Uri.parse('file:///.packages')) 155 .entityForUri(Uri.parse('file:///.packages'))
157 .writeAsStringSync('foo:bar\n'); 156 .writeAsStringSync('foo:bar\n');
158 // This one should be used. 157 // This one should be used.
159 fileSystem 158 fileSystem
160 .entityForUri(Uri.parse('file:///base/location/.packages')) 159 .entityForUri(Uri.parse('file:///base/location/.packages'))
161 .writeAsStringSync('foo:baz\n'); 160 .writeAsStringSync('foo:baz\n');
162 var raw = new CompilerOptions()..fileSystem = fileSystem; 161 var raw = new CompilerOptions()..fileSystem = fileSystem;
163 var processed = new ProcessedOptions( 162 var processed = new ProcessedOptions(
164 raw, false, [Uri.parse('file:///base/location/script.dart')]); 163 raw, false, [Uri.parse('file:///base/location/script.dart')]);
165 var uriTranslator = await processed.getUriTranslator(); 164 var uriTranslator = await processed.getUriTranslator();
166 checkPackageExpansion('foo', 'base/location/baz', uriTranslator.packages); 165 checkPackageExpansion('foo', 'base/location/baz', uriTranslator.packages);
167 } 166 }
168 167
169 test_getUriTranslator_implicitPackagesFile_searchAbove() async { 168 test_getUriTranslator_implicitPackagesFile_searchAbove() async {
170 // Fake the existence of the base directory. 169 // Create the base directory.
171 fileSystem 170 fileSystem
172 .entityForUri(Uri.parse('file:///base/location/')) 171 .entityForUri(Uri.parse('file:///base/location/'))
173 .writeAsStringSync(''); 172 .createDirectory();
174 // This .packages file should be ignored. 173 // This .packages file should be ignored.
175 fileSystem 174 fileSystem
176 .entityForUri(Uri.parse('file:///.packages')) 175 .entityForUri(Uri.parse('file:///.packages'))
177 .writeAsStringSync('foo:bar\n'); 176 .writeAsStringSync('foo:bar\n');
178 // This one should be used. 177 // This one should be used.
179 fileSystem 178 fileSystem
180 .entityForUri(Uri.parse('file:///base/.packages')) 179 .entityForUri(Uri.parse('file:///base/.packages'))
181 .writeAsStringSync('foo:baz\n'); 180 .writeAsStringSync('foo:baz\n');
182 var raw = new CompilerOptions()..fileSystem = fileSystem; 181 var raw = new CompilerOptions()..fileSystem = fileSystem;
183 var processed = new ProcessedOptions( 182 var processed = new ProcessedOptions(
184 raw, false, [Uri.parse('file:///base/location/script.dart')]); 183 raw, false, [Uri.parse('file:///base/location/script.dart')]);
185 var uriTranslator = await processed.getUriTranslator(); 184 var uriTranslator = await processed.getUriTranslator();
186 checkPackageExpansion('foo', 'base/baz', uriTranslator.packages); 185 checkPackageExpansion('foo', 'base/baz', uriTranslator.packages);
187 } 186 }
188 187
189 test_getUriTranslator_implicitPackagesFile_packagesDirectory() async { 188 test_getUriTranslator_implicitPackagesFile_packagesDirectory() async {
190 // Fake the existence of the base directory. 189 // Create the base directory.
191 fileSystem 190 fileSystem
192 .entityForUri(Uri.parse('file:///base/location/')) 191 .entityForUri(Uri.parse('file:///base/location/'))
193 .writeAsStringSync(''); 192 .createDirectory();
194 fileSystem 193 fileSystem
195 .entityForUri(Uri.parse('file:///base/location/packages/')) 194 .entityForUri(Uri.parse('file:///base/location/packages/'))
196 .writeAsStringSync(''); 195 .createDirectory();
197 196
198 // Both of these .packages file should be ignored. 197 // Both of these .packages file should be ignored.
199 fileSystem 198 fileSystem
200 .entityForUri(Uri.parse('file:///.packages')) 199 .entityForUri(Uri.parse('file:///.packages'))
201 .writeAsStringSync('foo:bar\n'); 200 .writeAsStringSync('foo:bar\n');
202 fileSystem 201 fileSystem
203 .entityForUri(Uri.parse('file:///base/.packages')) 202 .entityForUri(Uri.parse('file:///base/.packages'))
204 .writeAsStringSync('foo:baz\n'); 203 .writeAsStringSync('foo:baz\n');
205 var raw = new CompilerOptions()..fileSystem = fileSystem; 204 var raw = new CompilerOptions()..fileSystem = fileSystem;
206 var processed = new ProcessedOptions( 205 var processed = new ProcessedOptions(
207 raw, false, [Uri.parse('file:///base/location/script.dart')]); 206 raw, false, [Uri.parse('file:///base/location/script.dart')]);
208 var uriTranslator = await processed.getUriTranslator(); 207 var uriTranslator = await processed.getUriTranslator();
209 checkPackageExpansion( 208 checkPackageExpansion(
210 'foo', 'base/location/packages/foo', uriTranslator.packages); 209 'foo', 'base/location/packages/foo', uriTranslator.packages);
211 } 210 }
212 211
213 test_getUriTranslator_implicitPackagesFile_noPackages() async { 212 test_getUriTranslator_implicitPackagesFile_noPackages() async {
214 // Fake the existence of the base directory. 213 // Create the base directory.
215 fileSystem 214 fileSystem
216 .entityForUri(Uri.parse('file:///base/location/')) 215 .entityForUri(Uri.parse('file:///base/location/'))
217 .writeAsStringSync(''); 216 .createDirectory();
218 var errors = []; 217 var errors = [];
219 // .packages file should be ignored. 218 // .packages file should be ignored.
220 var raw = new CompilerOptions() 219 var raw = new CompilerOptions()
221 ..fileSystem = fileSystem 220 ..fileSystem = fileSystem
222 ..onError = (e) => errors.add(e); 221 ..onError = (e) => errors.add(e);
223 var processed = new ProcessedOptions( 222 var processed = new ProcessedOptions(
224 raw, false, [Uri.parse('file:///base/location/script.dart')]); 223 raw, false, [Uri.parse('file:///base/location/script.dart')]);
225 var uriTranslator = await processed.getUriTranslator(); 224 var uriTranslator = await processed.getUriTranslator();
226 expect(errors, isEmpty); 225 expect(errors, isEmpty);
227 expect(uriTranslator.packages.asMap(), isEmpty); 226 expect(uriTranslator.packages.asMap(), isEmpty);
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
391 var index = messageTemplate.indexOf('#'); 390 var index = messageTemplate.indexOf('#');
392 var prefix = messageTemplate.substring(0, index - 1); 391 var prefix = messageTemplate.substring(0, index - 1);
393 392
394 // Check that the prefix is not empty and that it contains more than one 393 // Check that the prefix is not empty and that it contains more than one
395 // word. 394 // word.
396 expect(prefix.length > 0, isTrue); 395 expect(prefix.length > 0, isTrue);
397 expect(prefix.contains(' '), isTrue); 396 expect(prefix.contains(' '), isTrue);
398 return prefix; 397 return prefix;
399 } 398 }
400 } 399 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698