Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 library unittest.backend.test_platform; | |
| 6 | |
| 5 // TODO(nweiz): support pluggable platforms. | 7 // TODO(nweiz): support pluggable platforms. |
| 6 /// An enum of all platforms on which tests can run. | 8 /// An enum of all platforms on which tests can run. |
| 7 class TestPlatform { | 9 class TestPlatform { |
| 10 // When adding new platforms, be sure to update the baseline and derived | |
| 11 // variable tests in test/backend/platform_selector/evaluate_test. | |
| 12 | |
| 8 /// The command-line Dart VM. | 13 /// The command-line Dart VM. |
| 9 static const vm = const TestPlatform._("VM", "vm"); | 14 static const vm = const TestPlatform._("VM", "vm", isDartVm: true); |
| 10 | 15 |
| 11 /// Google Chrome. | 16 /// Google Chrome. |
| 12 static const chrome = const TestPlatform._("Chrome", "chrome"); | 17 static const chrome = const TestPlatform._("Chrome", "chrome", |
| 18 isBrowser: true, isDart2js: true, isBlink: true); | |
|
Bob Nystrom
2015/03/16 16:54:26
Firefox, Safari, IE, et. al.?
nweiz
2015/03/24 01:03:28
This enum is also used for telling other APIs whic
| |
| 13 | 19 |
| 14 /// A list of all instances of [TestPlatform]. | 20 /// A list of all instances of [TestPlatform]. |
| 15 static const all = const [vm, chrome]; | 21 static const all = const [vm, chrome]; |
| 16 | 22 |
| 17 /// Finds a platform by its identifier string. | 23 /// Finds a platform by its identifier string. |
| 18 /// | 24 /// |
| 19 /// If no platform is found, returns `null`. | 25 /// If no platform is found, returns `null`. |
| 20 static TestPlatform find(String identifier) => | 26 static TestPlatform find(String identifier) => |
| 21 all.firstWhere((platform) => platform.identifier == identifier, | 27 all.firstWhere((platform) => platform.identifier == identifier, |
| 22 orElse: () => null); | 28 orElse: () => null); |
| 23 | 29 |
| 24 /// The human-friendly name of the platform. | 30 /// The human-friendly name of the platform. |
| 25 final String name; | 31 final String name; |
| 26 | 32 |
| 27 /// The identifier used to look up the platform. | 33 /// The identifier used to look up the platform. |
| 28 final String identifier; | 34 final String identifier; |
| 29 | 35 |
| 30 const TestPlatform._(this.name, this.identifier); | 36 /// Whether this platform runs the Dart VM in any capacity. |
| 37 final bool isDartVm; | |
| 38 | |
| 39 /// Whether this platform is a browser. | |
| 40 final bool isBrowser; | |
| 41 | |
| 42 /// Whether this platform runs Dart compiled with dart2js. | |
| 43 final bool isDart2js; | |
|
Bob Nystrom
2015/03/16 16:54:26
What about DDC? Should this name be more generic?
nweiz
2015/03/24 01:03:28
Changed to "js".
| |
| 44 | |
| 45 /// Whether this platform uses the Blink rendering engine. | |
| 46 final bool isBlink; | |
| 47 | |
| 48 const TestPlatform._(this.name, this.identifier, {this.isDartVm: false, | |
| 49 this.isBrowser: false, this.isDart2js: false, this.isBlink: false}); | |
| 31 | 50 |
| 32 String toString() => name; | 51 String toString() => name; |
| 33 } | 52 } |
| OLD | NEW |