Chromium Code Reviews| 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 "dart:async"; | 5 import "dart:async"; |
| 6 import "dart:io"; | 6 import "dart:io"; |
| 7 import "dart:isolate"; | 7 import "dart:isolate"; |
| 8 | 8 |
| 9 import "package:async_helper/async_helper.dart"; | 9 import "package:async_helper/async_helper.dart"; |
| 10 import "package:expect/expect.dart"; | 10 import "package:expect/expect.dart"; |
| 11 | 11 |
| 12 test() { | 12 test() async { |
| 13 asyncStart(); | |
| 13 Expect.isTrue(Platform.numberOfProcessors > 0); | 14 Expect.isTrue(Platform.numberOfProcessors > 0); |
| 14 var os = Platform.operatingSystem; | 15 var os = Platform.operatingSystem; |
| 15 Expect.isTrue(os == "android" || os == "linux" || os == "macos" || | 16 Expect.isTrue(os == "android" || os == "linux" || os == "macos" || |
| 16 os == "windows"); | 17 os == "windows"); |
| 17 Expect.equals(Platform.isLinux, Platform.operatingSystem == "linux"); | 18 Expect.equals(Platform.isLinux, Platform.operatingSystem == "linux"); |
| 18 Expect.equals(Platform.isMacOS, Platform.operatingSystem == "macos"); | 19 Expect.equals(Platform.isMacOS, Platform.operatingSystem == "macos"); |
| 19 Expect.equals(Platform.isWindows, Platform.operatingSystem == "windows"); | 20 Expect.equals(Platform.isWindows, Platform.operatingSystem == "windows"); |
| 20 Expect.equals(Platform.isAndroid, Platform.operatingSystem == "android"); | 21 Expect.equals(Platform.isAndroid, Platform.operatingSystem == "android"); |
| 21 var sep = Platform.pathSeparator; | 22 var sep = Platform.pathSeparator; |
| 22 Expect.isTrue(sep == '/' || (os == 'windows' && sep == '\\')); | 23 Expect.isTrue(sep == '/' || (os == 'windows' && sep == '\\')); |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 41 Expect.equals(Platform.resolvedExecutable.substring(1, 3), ':\\'); | 42 Expect.equals(Platform.resolvedExecutable.substring(1, 3), ':\\'); |
| 42 } | 43 } |
| 43 // Move directory to be sure script is correct. | 44 // Move directory to be sure script is correct. |
| 44 var oldDir = Directory.current; | 45 var oldDir = Directory.current; |
| 45 Directory.current = Directory.current.parent; | 46 Directory.current = Directory.current.parent; |
| 46 Expect.isTrue(Platform.script.path. | 47 Expect.isTrue(Platform.script.path. |
| 47 endsWith('tests/standalone/io/platform_test.dart')); | 48 endsWith('tests/standalone/io/platform_test.dart')); |
| 48 Expect.isTrue(Platform.script.toFilePath().startsWith(oldDir.path)); | 49 Expect.isTrue(Platform.script.toFilePath().startsWith(oldDir.path)); |
| 49 // Restore dir. | 50 // Restore dir. |
| 50 Directory.current = oldDir; | 51 Directory.current = oldDir; |
| 51 Directory packageRoot = new Directory(Platform.packageRoot); | 52 String platformPackageRoot = (await Platform.packageRoot).toFilePath(); |
|
Lasse Reichstein Nielsen
2015/09/22 09:48:25
. -> ?.
| |
| 53 Directory packageRoot = new Directory(platformPackageRoot); | |
| 52 Expect.isTrue(packageRoot.existsSync()); | 54 Expect.isTrue(packageRoot.existsSync()); |
| 53 Expect.isTrue(new Directory("${packageRoot.path}/expect").existsSync()); | 55 Expect.isTrue(new Directory("${packageRoot.path}/expect").existsSync()); |
| 54 Expect.isTrue(Platform.executableArguments.any( | 56 Expect.isTrue(Platform.executableArguments.any( |
| 55 (arg) => arg.contains(Platform.packageRoot))); | 57 (arg) { |
| 58 if (!arg.startsWith("--package-root=")) { | |
| 59 return false; | |
| 60 } | |
| 61 var commandPackageRoot = arg.replaceFirst("--package-root=", ""); | |
|
Lasse Reichstein Nielsen
2015/09/22 09:48:25
overkill :)
var argPackageRoot = "--package-root=
| |
| 62 return platformPackageRoot.endsWith(commandPackageRoot); | |
| 63 })); | |
| 64 asyncEnd(); | |
| 56 } | 65 } |
| 57 | 66 |
| 58 void f(reply) { | 67 f(reply) async { |
| 59 reply.send({"Platform.executable": Platform.executable, | 68 reply.send({"Platform.executable": Platform.executable, |
| 60 "Platform.script": Platform.script, | 69 "Platform.script": Platform.script, |
| 61 "Platform.packageRoot": Platform.packageRoot, | 70 "Platform.packageRoot": (await Platform.packageRoot).toString(), |
| 62 "Platform.executableArguments": Platform.executableArguments}); | 71 "Platform.executableArguments": Platform.executableArguments}); |
| 63 } | 72 } |
| 64 | 73 |
| 65 testIsolate() { | 74 testIsolate() { |
| 66 asyncStart(); | 75 asyncStart(); |
| 67 ReceivePort port = new ReceivePort(); | 76 ReceivePort port = new ReceivePort(); |
| 68 var remote = Isolate.spawn(f, port.sendPort); | 77 var remote = Isolate.spawn(f, port.sendPort); |
| 69 port.first.then((results) { | 78 port.first.then((results) async { |
| 70 Expect.equals(Platform.executable, results["Platform.executable"]); | 79 Expect.equals(Platform.executable, results["Platform.executable"]); |
| 71 | 80 |
| 72 Uri uri = results["Platform.script"]; | 81 Uri uri = results["Platform.script"]; |
| 73 // SpawnFunction retains the script url of the parent which in this | 82 // SpawnFunction retains the script url of the parent which in this |
| 74 // case was a relative path. | 83 // case was a relative path. |
| 75 Expect.equals("file", uri.scheme); | 84 Expect.equals("file", uri.scheme); |
| 76 Expect.isTrue(uri.path.endsWith('tests/standalone/io/platform_test.dart')); | 85 Expect.isTrue(uri.path.endsWith('tests/standalone/io/platform_test.dart')); |
| 77 Expect.equals(Platform.packageRoot, results["Platform.packageRoot"]); | 86 var packageRoot = await Platform.packageRoot; |
| 87 Expect.equals(packageRoot.toString(), results["Platform.packageRoot"]); | |
| 78 Expect.listEquals(Platform.executableArguments, | 88 Expect.listEquals(Platform.executableArguments, |
| 79 results["Platform.executableArguments"]); | 89 results["Platform.executableArguments"]); |
| 80 asyncEnd(); | 90 asyncEnd(); |
| 81 }); | 91 }); |
| 82 } | 92 } |
| 83 | 93 |
| 84 | 94 |
| 85 testVersion() { | 95 testVersion() { |
| 86 checkValidVersion(String version) { | 96 checkValidVersion(String version) { |
| 87 RegExp re = new RegExp(r'(\d+)\.(\d+)\.(\d+)(-dev\.([^\.]*)\.([^\.]*))?'); | 97 RegExp re = new RegExp(r'(\d+)\.(\d+)\.(\d+)(-dev\.([^\.]*)\.([^\.]*))?'); |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 132 Expect.throws(() => checkValidVersion('x.y.z')); | 142 Expect.throws(() => checkValidVersion('x.y.z')); |
| 133 } | 143 } |
| 134 | 144 |
| 135 main() { | 145 main() { |
| 136 // This tests assumes paths relative to dart main directory | 146 // This tests assumes paths relative to dart main directory |
| 137 Directory.current = Platform.script.resolve('../../..').toFilePath(); | 147 Directory.current = Platform.script.resolve('../../..').toFilePath(); |
| 138 test(); | 148 test(); |
| 139 testIsolate(); | 149 testIsolate(); |
| 140 testVersion(); | 150 testVersion(); |
| 141 } | 151 } |
| OLD | NEW |