| 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 |