OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 "package:expect/expect.dart"; | 5 import "package:expect/expect.dart"; |
6 | 6 |
7 testFileUri() { | 7 testFileUri() { |
8 final unsupported = new UnsupportedError(""); | 8 final unsupported = new UnsupportedError(""); |
9 | 9 |
10 var tests = [ | 10 var tests = [ |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
217 Expect.throws(() => new Uri.directory(test, windows: true), | 217 Expect.throws(() => new Uri.directory(test, windows: true), |
218 (e) => e is ArgumentError); | 218 (e) => e is ArgumentError); |
219 Expect.throws(() => new Uri.directory("\\$test", windows: true), | 219 Expect.throws(() => new Uri.directory("\\$test", windows: true), |
220 (e) => e is ArgumentError); | 220 (e) => e is ArgumentError); |
221 | 221 |
222 // It is possible to create non-Windows URIs, but not Windows URIs. | 222 // It is possible to create non-Windows URIs, but not Windows URIs. |
223 Uri uri = new Uri.file(test, windows: false); | 223 Uri uri = new Uri.file(test, windows: false); |
224 Uri absoluteUri = new Uri.file("/$test", windows: false); | 224 Uri absoluteUri = new Uri.file("/$test", windows: false); |
225 Uri dirUri = new Uri.directory(test, windows: false); | 225 Uri dirUri = new Uri.directory(test, windows: false); |
226 Uri dirAbsoluteUri = new Uri.directory("/$test", windows: false); | 226 Uri dirAbsoluteUri = new Uri.directory("/$test", windows: false); |
227 Expect.throws(() => new Uri.file(test, windows: true)); | 227 Expect.throws(() => new Uri.file(test, windows: true), |
228 Expect.throws(() => new Uri.file("\\$test", windows: true)); | 228 (e) => e is ArgumentError); |
229 Expect.throws(() => new Uri.direcory(test, windows: true)); | 229 Expect.throws(() => new Uri.file("\\$test", windows: true), |
230 Expect.throws(() => new Uri.directory("\\$test", windows: true)); | 230 (e) => e is ArgumentError); |
| 231 Expect.throws(() => new Uri.directory(test, windows: true), |
| 232 (e) => e is ArgumentError); |
| 233 Expect.throws(() => new Uri.directory("\\$test", windows: true), |
| 234 (e) => e is ArgumentError); |
231 | 235 |
232 // It is possible to extract non-Windows file path, but not | 236 // It is possible to extract non-Windows file path, but not |
233 // Windows file path. | 237 // Windows file path. |
234 Expect.equals(test, uri.toFilePath(windows: false)); | 238 Expect.equals(test, uri.toFilePath(windows: false)); |
235 Expect.equals("/$test", absoluteUri.toFilePath(windows: false)); | 239 Expect.equals("/$test", absoluteUri.toFilePath(windows: false)); |
236 Expect.equals("$test/", dirUri.toFilePath(windows: false)); | 240 Expect.equals("$test/", dirUri.toFilePath(windows: false)); |
237 Expect.equals("/$test/", dirAbsoluteUri.toFilePath(windows: false)); | 241 Expect.equals("/$test/", dirAbsoluteUri.toFilePath(windows: false)); |
238 Expect.throws(() => uri.toFilePath(windows: true)); | 242 Expect.throws(() => uri.toFilePath(windows: true), |
239 Expect.throws(() => absoluteUri.toFilePath(windows: true)); | 243 (e) => e is UnsupportedError); |
240 Expect.throws(() => dirUri.toFilePath(windows: true)); | 244 Expect.throws(() => absoluteUri.toFilePath(windows: true), |
241 Expect.throws(() => dirAbsoluteUri.toFilePath(windows: true)); | 245 (e) => e is UnsupportedError); |
| 246 Expect.throws(() => dirUri.toFilePath(windows: true), |
| 247 (e) => e is UnsupportedError); |
| 248 Expect.throws(() => dirAbsoluteUri.toFilePath(windows: true), |
| 249 (e) => e is UnsupportedError); |
242 } | 250 } |
243 | 251 |
244 // Backslash | 252 // Backslash |
245 illegalWindowsPaths = ["a\\b", "a\\b\\"]; | 253 illegalWindowsPaths = ["a\\b", "a\\b\\"]; |
246 for (var test in illegalWindowsPaths) { | 254 for (var test in illegalWindowsPaths) { |
247 // It is possible to create both non-Windows URIs, and Windows URIs. | 255 // It is possible to create both non-Windows URIs, and Windows URIs. |
248 Uri uri = new Uri.file(test, windows: false); | 256 Uri uri = new Uri.file(test, windows: false); |
249 Uri absoluteUri = new Uri.file("/$test", windows: false); | 257 Uri absoluteUri = new Uri.file("/$test", windows: false); |
250 Uri dirUri = new Uri.directory(test, windows: false); | 258 Uri dirUri = new Uri.directory(test, windows: false); |
251 Uri dirAbsoluteUri = new Uri.directory("/$test", windows: false); | 259 Uri dirAbsoluteUri = new Uri.directory("/$test", windows: false); |
252 new Uri.file(test, windows: true); | 260 new Uri.file(test, windows: true); |
253 new Uri.file("\\$test", windows: true); | 261 new Uri.file("\\$test", windows: true); |
254 | 262 |
255 // It is possible to extract non-Windows file path, but not | 263 // It is possible to extract non-Windows file path, but not |
256 // Windows file path from the non-Windows URI (it has a backslash | 264 // Windows file path from the non-Windows URI (it has a backslash |
257 // in a path segment). | 265 // in a path segment). |
258 Expect.equals(test, uri.toFilePath(windows: false)); | 266 Expect.equals(test, uri.toFilePath(windows: false)); |
259 Expect.equals("/$test", absoluteUri.toFilePath(windows: false)); | 267 Expect.equals("/$test", absoluteUri.toFilePath(windows: false)); |
260 Expect.equals("$test/", dirUri.toFilePath(windows: false)); | 268 Expect.equals("$test/", dirUri.toFilePath(windows: false)); |
261 Expect.equals("/$test/", dirAbsoluteUri.toFilePath(windows: false)); | 269 Expect.equals("/$test/", dirAbsoluteUri.toFilePath(windows: false)); |
262 Expect.throws(() => uri.toFilePath(windows: true), | 270 Expect.throws(() => uri.toFilePath(windows: true), |
263 (e) => e is UnsupportedError); | 271 (e) => e is UnsupportedError); |
264 Expect.throws(() => absoluteUri.toFilePath(windows: true)); | 272 Expect.throws(() => absoluteUri.toFilePath(windows: true), |
| 273 (e) => e is UnsupportedError); |
265 Expect.throws(() => dirUri.toFilePath(windows: true), | 274 Expect.throws(() => dirUri.toFilePath(windows: true), |
266 (e) => e is UnsupportedError); | 275 (e) => e is UnsupportedError); |
267 Expect.throws(() => dirAbsoluteUri.toFilePath(windows: true)); | 276 Expect.throws(() => dirAbsoluteUri.toFilePath(windows: true), |
| 277 (e) => e is UnsupportedError); |
268 } | 278 } |
269 } | 279 } |
270 | 280 |
271 testFileUriIllegalDriveLetter() { | 281 testFileUriIllegalDriveLetter() { |
272 Expect.throws(() => new Uri.file("1:\\", windows: true), | 282 Expect.throws(() => new Uri.file("1:\\", windows: true), |
273 (e) => e is ArgumentError); | 283 (e) => e is ArgumentError); |
274 Expect.throws(() => new Uri.directory("1:\\", windows: true), | 284 Expect.throws(() => new Uri.directory("1:\\", windows: true), |
275 (e) => e is ArgumentError); | 285 (e) => e is ArgumentError); |
276 Uri uri = new Uri.file("1:\\", windows: false); | 286 Uri uri = new Uri.file("1:\\", windows: false); |
277 Uri dirUri = new Uri.directory("1:\\", windows: false); | 287 Uri dirUri = new Uri.directory("1:\\", windows: false); |
(...skipping 28 matching lines...) Expand all Loading... |
306 main() { | 316 main() { |
307 testFileUri(); | 317 testFileUri(); |
308 testFileUriWindowsSlash(); | 318 testFileUriWindowsSlash(); |
309 testFileUriDriveLetter(); | 319 testFileUriDriveLetter(); |
310 testFileUriWindowsWin32Namespace(); | 320 testFileUriWindowsWin32Namespace(); |
311 testFileUriResolve(); | 321 testFileUriResolve(); |
312 testFileUriIllegalCharacters(); | 322 testFileUriIllegalCharacters(); |
313 testFileUriIllegalDriveLetter(); | 323 testFileUriIllegalDriveLetter(); |
314 testAdditionalComponents(); | 324 testAdditionalComponents(); |
315 } | 325 } |
OLD | NEW |