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 import 'dart:async'; | 5 import 'dart:async'; |
6 | 6 |
7 import 'package:test/src/backend/group.dart'; | 7 import 'package:test/src/backend/group.dart'; |
8 import 'package:test/src/backend/state.dart'; | 8 import 'package:test/src/backend/state.dart'; |
9 import 'package:test/src/runner/engine.dart'; | 9 import 'package:test/src/runner/engine.dart'; |
| 10 import 'package:test/src/runner/plugin/environment.dart'; |
10 import 'package:test/src/runner/runner_suite.dart'; | 11 import 'package:test/src/runner/runner_suite.dart'; |
11 import 'package:test/src/runner/vm/environment.dart'; | |
12 import 'package:test/test.dart'; | 12 import 'package:test/test.dart'; |
13 | 13 |
14 import '../utils.dart'; | 14 import '../utils.dart'; |
15 | 15 |
16 void main() { | 16 void main() { |
17 test("runs each test in each suite in order", () async { | 17 test("runs each test in each suite in order", () async { |
18 var testsRun = 0; | 18 var testsRun = 0; |
19 var tests = declare(() { | 19 var tests = declare(() { |
20 for (var i = 0; i < 4; i++) { | 20 for (var i = 0; i < 4; i++) { |
21 test("test ${i + 1}", expectAsync(() { | 21 test("test ${i + 1}", expectAsync(() { |
22 expect(testsRun, equals(i)); | 22 expect(testsRun, equals(i)); |
23 testsRun++; | 23 testsRun++; |
24 }, max: 1)); | 24 }, max: 1)); |
25 } | 25 } |
26 }); | 26 }); |
27 | 27 |
28 var engine = new Engine.withSuites([ | 28 var engine = new Engine.withSuites([ |
29 new RunnerSuite(const VMEnvironment(), new Group.root(tests.take(2))), | 29 new RunnerSuite(const PluginEnvironment(), new Group.root(tests.take(2))), |
30 new RunnerSuite(const VMEnvironment(), new Group.root(tests.skip(2))) | 30 new RunnerSuite(const PluginEnvironment(), new Group.root(tests.skip(2))) |
31 ]); | 31 ]); |
32 | 32 |
33 await engine.run(); | 33 await engine.run(); |
34 expect(testsRun, equals(4)); | 34 expect(testsRun, equals(4)); |
35 }); | 35 }); |
36 | 36 |
37 test("runs tests in a suite added after run() was called", () { | 37 test("runs tests in a suite added after run() was called", () { |
38 var testsRun = 0; | 38 var testsRun = 0; |
39 var tests = declare(() { | 39 var tests = declare(() { |
40 for (var i = 0; i < 4; i++) { | 40 for (var i = 0; i < 4; i++) { |
41 test("test ${i + 1}", expectAsync(() { | 41 test("test ${i + 1}", expectAsync(() { |
42 expect(testsRun, equals(i)); | 42 expect(testsRun, equals(i)); |
43 testsRun++; | 43 testsRun++; |
44 }, max: 1)); | 44 }, max: 1)); |
45 } | 45 } |
46 }); | 46 }); |
47 | 47 |
48 var engine = new Engine(); | 48 var engine = new Engine(); |
49 expect(engine.run().then((_) { | 49 expect(engine.run().then((_) { |
50 expect(testsRun, equals(4)); | 50 expect(testsRun, equals(4)); |
51 }), completes); | 51 }), completes); |
52 | 52 |
53 engine.suiteSink.add( | 53 engine.suiteSink.add( |
54 new RunnerSuite(const VMEnvironment(), new Group.root(tests))); | 54 new RunnerSuite(const PluginEnvironment(), new Group.root(tests))); |
55 engine.suiteSink.close(); | 55 engine.suiteSink.close(); |
56 }); | 56 }); |
57 | 57 |
58 test("emits each test before it starts running and after the previous test " | 58 test("emits each test before it starts running and after the previous test " |
59 "finished", () { | 59 "finished", () { |
60 var testsRun = 0; | 60 var testsRun = 0; |
61 var engine = declareEngine(() { | 61 var engine = declareEngine(() { |
62 for (var i = 0; i < 3; i++) { | 62 for (var i = 0; i < 3; i++) { |
63 test("test ${i + 1}", expectAsync(() => testsRun++, max: 1)); | 63 test("test ${i + 1}", expectAsync(() => testsRun++, max: 1)); |
64 } | 64 } |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 await engine.run(); | 158 await engine.run(); |
159 expect(bodyRun, isFalse); | 159 expect(bodyRun, isFalse); |
160 }); | 160 }); |
161 | 161 |
162 test("exposes a LiveTest that emits the correct states", () { | 162 test("exposes a LiveTest that emits the correct states", () { |
163 var tests = declare(() { | 163 var tests = declare(() { |
164 test("test", () {}, skip: true); | 164 test("test", () {}, skip: true); |
165 }); | 165 }); |
166 | 166 |
167 var engine = new Engine.withSuites([ | 167 var engine = new Engine.withSuites([ |
168 new RunnerSuite(const VMEnvironment(), new Group.root(tests)) | 168 new RunnerSuite(const PluginEnvironment(), new Group.root(tests)) |
169 ]); | 169 ]); |
170 | 170 |
171 engine.onTestStarted.listen(expectAsync((liveTest) { | 171 engine.onTestStarted.listen(expectAsync((liveTest) { |
172 expect(liveTest, same(engine.liveTests.single)); | 172 expect(liveTest, same(engine.liveTests.single)); |
173 expect(liveTest.test.name, equals(tests.single.name)); | 173 expect(liveTest.test.name, equals(tests.single.name)); |
174 | 174 |
175 var first = true; | 175 var first = true; |
176 liveTest.onStateChange.listen(expectAsync((state) { | 176 liveTest.onStateChange.listen(expectAsync((state) { |
177 expect(state, equals(first | 177 expect(state, equals(first |
178 ? const State(Status.running, Result.success) | 178 ? const State(Status.running, Result.success) |
179 : const State(Status.complete, Result.success))); | 179 : const State(Status.complete, Result.success))); |
180 first = false; | 180 first = false; |
181 }, count: 2)); | 181 }, count: 2)); |
182 | 182 |
183 expect(liveTest.onComplete, completes); | 183 expect(liveTest.onComplete, completes); |
184 })); | 184 })); |
185 | 185 |
186 return engine.run(); | 186 return engine.run(); |
187 }); | 187 }); |
188 }); | 188 }); |
189 } | 189 } |
OLD | NEW |