Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(158)

Side by Side Diff: test/runner/engine_test.dart

Issue 1685363002: Add a platform plugin infrastructure. (Closed) Base URL: git@github.com:dart-lang/test@master
Patch Set: Code review changes Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « pubspec.yaml ('k') | test/runner/isolate_listener_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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 }
OLDNEW
« no previous file with comments | « pubspec.yaml ('k') | test/runner/isolate_listener_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698