Index: test/runner/browser/runner_test.dart |
diff --git a/test/runner/browser/runner_test.dart b/test/runner/browser/runner_test.dart |
index 146c05fd5c7ab90e6d7c54456f4c67944038c112..d4173215416cc380d6ba44c02390d330933190f3 100644 |
--- a/test/runner/browser/runner_test.dart |
+++ b/test/runner/browser/runner_test.dart |
@@ -514,7 +514,7 @@ void main() { |
expect(result.stdout, contains("-1: Some tests failed.")); |
}); |
- group("in onPlatform", () { |
+ group("with onPlatform", () { |
test("respects matching Skips", () { |
new File(p.join(_sandbox, "test.dart")).writeAsStringSync(''' |
import 'dart:async'; |
@@ -607,6 +607,81 @@ void main() { |
]))); |
}); |
}); |
+ |
+ group("with an @OnPlatform annotation", () { |
+ test("respects matching Skips", () { |
+ new File(p.join(_sandbox, "test.dart")).writeAsStringSync(''' |
+@OnPlatform(const {"chrome": const Skip()}) |
+ |
+import 'dart:async'; |
+ |
+import 'package:test/test.dart'; |
+ |
+void main() { |
+ test("fail", () => throw 'oh no'); |
+} |
+'''); |
+ |
+ var result = _runUnittest(["-p", "chrome", "test.dart"]); |
+ expect(result.stdout, contains("+0 ~1: All tests skipped.")); |
+ }); |
+ |
+ test("ignores non-matching Skips", () { |
+ new File(p.join(_sandbox, "test.dart")).writeAsStringSync(''' |
+@OnPlatform(const {"vm": const Skip()}) |
+ |
+import 'dart:async'; |
+ |
+import 'package:test/test.dart'; |
+ |
+void main() { |
+ test("success", () {}); |
+} |
+'''); |
+ |
+ var result = _runUnittest(["-p", "chrome", "test.dart"]); |
+ expect(result.stdout, contains("+1: All tests passed!")); |
+ }); |
+ |
+ test("respects matching Timeouts", () { |
+ new File(p.join(_sandbox, "test.dart")).writeAsStringSync(''' |
+@OnPlatform(const { |
+ "chrome": const Timeout(const Duration(seconds: 0)) |
+}) |
+ |
+import 'dart:async'; |
+ |
+import 'package:test/test.dart'; |
+ |
+void main() { |
+ test("fail", () => throw 'oh no'); |
+} |
+'''); |
+ |
+ var result = _runUnittest(["-p", "chrome", "test.dart"]); |
+ expect(result.stdout, contains("Test timed out after 0 seconds.")); |
+ expect(result.stdout, contains("-1: Some tests failed.")); |
+ }); |
+ |
+ test("ignores non-matching Timeouts", () { |
+ new File(p.join(_sandbox, "test.dart")).writeAsStringSync(''' |
+@OnPlatform(const { |
+ "vm": const Timeout(const Duration(seconds: 0)) |
+}) |
+ |
+import 'dart:async'; |
+ |
+import 'package:test/test.dart'; |
+ |
+void main() { |
+ test("success", () {}); |
+} |
+'''); |
+ |
+ var result = _runUnittest(["-p", "chrome", "test.dart"]); |
+ expect(result.stdout, contains("+1: All tests passed!")); |
+ }); |
+ }); |
} |
ProcessResult _runUnittest(List<String> args) => |