OLD | NEW |
(Empty) | |
| 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 |
| 3 // BSD-style license that can be found in the LICENSE file. |
| 4 |
| 5 import 'package:test/src/backend/metadata.dart'; |
| 6 import 'package:test/src/backend/test_platform.dart'; |
| 7 import 'package:test/src/frontend/timeout.dart'; |
| 8 import 'package:test/src/frontend/skip.dart'; |
| 9 import 'package:test/test.dart'; |
| 10 |
| 11 void main() { |
| 12 group("onPlatform", () { |
| 13 test("parses a valid map", () { |
| 14 var metadata = new Metadata.parse(onPlatform: { |
| 15 "chrome": new Timeout.factor(2), |
| 16 "vm": [new Skip(), new Timeout.factor(3)] |
| 17 }); |
| 18 |
| 19 var key = metadata.onPlatform.keys.first; |
| 20 expect(key.evaluate(TestPlatform.chrome), isTrue); |
| 21 expect(key.evaluate(TestPlatform.vm), isFalse); |
| 22 var value = metadata.onPlatform.values.first; |
| 23 expect(value.timeout.scaleFactor, equals(2)); |
| 24 |
| 25 |
| 26 key = metadata.onPlatform.keys.last; |
| 27 expect(key.evaluate(TestPlatform.vm), isTrue); |
| 28 expect(key.evaluate(TestPlatform.chrome), isFalse); |
| 29 value = metadata.onPlatform.values.last; |
| 30 expect(value.skip, isTrue); |
| 31 expect(value.timeout.scaleFactor, equals(3)); |
| 32 }); |
| 33 |
| 34 test("refuses an invalid value", () { |
| 35 expect(() { |
| 36 new Metadata.parse(onPlatform: {"chrome": new TestOn("chrome")}); |
| 37 }, throwsArgumentError); |
| 38 }); |
| 39 |
| 40 test("refuses an invalid value in a list", () { |
| 41 expect(() { |
| 42 new Metadata.parse(onPlatform: {"chrome": [new TestOn("chrome")]}); |
| 43 }, throwsArgumentError); |
| 44 }); |
| 45 |
| 46 test("refuses an invalid platform selector", () { |
| 47 expect(() { |
| 48 new Metadata.parse(onPlatform: {"invalid": new Skip()}); |
| 49 }, throwsFormatException); |
| 50 }); |
| 51 |
| 52 test("refuses multiple Timeouts", () { |
| 53 expect(() { |
| 54 new Metadata.parse(onPlatform: { |
| 55 "chrome": [new Timeout.factor(2), new Timeout.factor(3)] |
| 56 }); |
| 57 }, throwsArgumentError); |
| 58 }); |
| 59 |
| 60 test("refuses multiple Skips", () { |
| 61 expect(() { |
| 62 new Metadata.parse(onPlatform: {"chrome": [new Skip(), new Skip()]}); |
| 63 }, throwsArgumentError); |
| 64 }); |
| 65 }); |
| 66 } |
OLD | NEW |