| Index: test/runner/engine_test.dart
|
| diff --git a/test/runner/engine_test.dart b/test/runner/engine_test.dart
|
| index f6904d530113d17f23dcd5e07b1255cbbe0d2c8f..833d680de251e917fb584ad3de69b623b84e4bef 100644
|
| --- a/test/runner/engine_test.dart
|
| +++ b/test/runner/engine_test.dart
|
| @@ -6,6 +6,7 @@ import 'dart:async';
|
|
|
| import 'package:test/src/backend/group.dart';
|
| import 'package:test/src/backend/state.dart';
|
| +import 'package:test/src/runner/configuration.dart';
|
| import 'package:test/src/runner/engine.dart';
|
| import 'package:test/src/runner/plugin/environment.dart';
|
| import 'package:test/src/runner/runner_suite.dart';
|
| @@ -159,6 +160,16 @@ void main() {
|
| expect(bodyRun, isFalse);
|
| });
|
|
|
| + test("runs the test's body with --run-skipped", () async {
|
| + var bodyRun = false;
|
| + var engine = declareEngine(() {
|
| + test("test", () => bodyRun = true, skip: true);
|
| + }, runSkipped: true);
|
| +
|
| + await engine.run();
|
| + expect(bodyRun, isTrue);
|
| + });
|
| +
|
| test("exposes a LiveTest that emits the correct states", () {
|
| var tests = declare(() {
|
| test("test", () {}, skip: true);
|
| @@ -190,4 +201,63 @@ void main() {
|
| return engine.run();
|
| });
|
| });
|
| +
|
| + group("for a skipped group", () {
|
| + test("doesn't run a test in the group", () async {
|
| + var bodyRun = false;
|
| + var engine = declareEngine(() {
|
| + group("group", () {
|
| + test("test", () => bodyRun = true);
|
| + }, skip: true);
|
| + });
|
| +
|
| + await engine.run();
|
| + expect(bodyRun, isFalse);
|
| + });
|
| +
|
| + test("runs tests in the group with --run-skipped", () async {
|
| + var bodyRun = false;
|
| + var engine = declareEngine(() {
|
| + group("group", () {
|
| + test("test", () => bodyRun = true);
|
| + }, skip: true);
|
| + }, runSkipped: true);
|
| +
|
| + await engine.run();
|
| + expect(bodyRun, isTrue);
|
| + });
|
| +
|
| + test("exposes a LiveTest that emits the correct states", () {
|
| + var entries = declare(() {
|
| + group("group", () {
|
| + test("test", () => bodyRun = true);
|
| + }, skip: true);
|
| + });
|
| +
|
| + var engine = new Engine.withSuites([
|
| + new RunnerSuite(const PluginEnvironment(), new Group.root(entries))
|
| + ]);
|
| +
|
| + engine.onTestStarted.listen(expectAsync((liveTest) {
|
| + expect(liveTest, same(engine.liveTests.single));
|
| + expect(liveTest.test.name, equals("group test"));
|
| +
|
| + var i = 0;
|
| + liveTest.onStateChange.listen(expectAsync((state) {
|
| + if (i == 0) {
|
| + expect(state, equals(const State(Status.running, Result.success)));
|
| + } else if (i == 1) {
|
| + expect(state, equals(const State(Status.running, Result.skipped)));
|
| + } else if (i == 2) {
|
| + expect(state, equals(const State(Status.complete, Result.skipped)));
|
| + }
|
| + i++;
|
| + }, count: 3));
|
| +
|
| + expect(liveTest.onComplete, completes);
|
| + }));
|
| +
|
| + return engine.run();
|
| + });
|
| + });
|
| }
|
|
|