OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 // Test library uri for a library read as a file. | 5 // Test library uri for a library read as a file. |
6 | 6 |
7 library MirrorsTest; | 7 library MirrorsTest; |
8 | 8 |
9 import 'dart:mirrors'; | 9 import 'dart:mirrors'; |
10 import 'dart:io'; | 10 import 'dart:io'; |
11 import '../../../pkg/unittest/lib/unittest.dart'; | 11 import '../../../pkg/unittest/lib/unittest.dart'; |
12 | 12 |
13 class Class { | 13 class Class { |
14 } | 14 } |
15 | 15 |
16 testLibraryUri(var value, Uri expectedUri) { | 16 testLibraryUri(var value, Uri expectedUri) { |
17 var valueMirror = reflect(value); | 17 var valueMirror = reflect(value); |
18 ClassMirror valueClass = valueMirror.type; | 18 ClassMirror valueClass = valueMirror.type; |
19 LibraryMirror valueLibrary = valueClass.owner; | 19 LibraryMirror valueLibrary = valueClass.owner; |
20 expect(valueLibrary.uri, equals(expectedUri)); | 20 expect(valueLibrary.uri, equals(expectedUri)); |
21 } | 21 } |
22 | 22 |
23 main() { | 23 main() { |
24 var mirrors = currentMirrorSystem(); | 24 var mirrors = currentMirrorSystem(); |
25 test("Test current library uri", () { | 25 test("Test current library uri", () { |
26 String appendSlash(String path) => path.endsWith('/') ? path : '$path/'; | 26 String appendSlash(String path) => path.endsWith('/') ? path : '$path/'; |
27 Uri cwd = new Uri( | 27 Uri cwd = new Uri.file(appendSlash(new File('.').fullPathSync())); |
28 scheme: 'file', | 28 Uri uri = cwd.resolveUri(new Uri.file(Platform.script)); |
29 path: appendSlash(new File('.').fullPathSync())); | |
30 Uri uri = cwd.resolve(Platform.script); | |
31 testLibraryUri(new Class(), uri); | 29 testLibraryUri(new Class(), uri); |
32 }); | 30 }); |
33 } | 31 } |
OLD | NEW |