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

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

Issue 1461293005: Add a JSON reporter. (Closed) Base URL: git@github.com:dart-lang/test@master
Patch Set: Created 5 years, 1 month 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
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 @TestOn("vm") 5 @TestOn("vm")
6 6
7 import 'package:scheduled_test/descriptor.dart' as d; 7 import 'package:scheduled_test/descriptor.dart' as d;
8 import 'package:scheduled_test/scheduled_stream.dart'; 8 import 'package:scheduled_test/scheduled_stream.dart';
9 import 'package:scheduled_test/scheduled_test.dart'; 9 import 'package:scheduled_test/scheduled_test.dart';
10 10
11 import '../io.dart'; 11 import '../io.dart';
12 12
13 void main() { 13 void main() {
14 useSandbox(); 14 useSandbox();
15 15
16 test("reports when no tests are run", () { 16 test("reports when no tests are run", () {
17 d.file("test.dart", "void main() {}").create(); 17 d.file("test.dart", "void main() {}").create();
18 18
19 var test = runTest(["test.dart"], compact: true); 19 var test = runTest(["test.dart"], reporter: "compact");
20 test.stdout.expect(consumeThrough(contains("No tests ran."))); 20 test.stdout.expect(consumeThrough(contains("No tests ran.")));
21 test.shouldExit(0); 21 test.shouldExit(0);
22 }); 22 });
23 23
24 test("runs several successful tests and reports when each completes", () { 24 test("runs several successful tests and reports when each completes", () {
25 _expectReport(""" 25 _expectReport("""
26 test('success 1', () {}); 26 test('success 1', () {});
27 test('success 2', () {}); 27 test('success 2', () {});
28 test('success 3', () {});""", 28 test('success 3', () {});""",
29 """ 29 """
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 d.file("test.dart", """ 69 d.file("test.dart", """
70 import 'dart:async'; 70 import 'dart:async';
71 71
72 import 'package:test/test.dart'; 72 import 'package:test/test.dart';
73 73
74 void main() { 74 void main() {
75 test("failure", () => throw "oh no"); 75 test("failure", () => throw "oh no");
76 } 76 }
77 """).create(); 77 """).create();
78 78
79 var test = runTest(["--verbose-trace", "test.dart"], compact: true); 79 var test = runTest(["--verbose-trace", "test.dart"], reporter: "compact");
80 test.stdout.expect(consumeThrough(contains("dart:isolate-patch"))); 80 test.stdout.expect(consumeThrough(contains("dart:isolate-patch")));
81 test.shouldExit(1); 81 test.shouldExit(1);
82 }); 82 });
83 83
84 test("runs failing tests along with successful tests", () { 84 test("runs failing tests along with successful tests", () {
85 _expectReport(""" 85 _expectReport("""
86 test('failure 1', () => throw new TestFailure('oh no')); 86 test('failure 1', () => throw new TestFailure('oh no'));
87 test('success 1', () {}); 87 test('success 1', () {});
88 test('failure 2', () => throw new TestFailure('oh no')); 88 test('failure 2', () => throw new TestFailure('oh no'));
89 test('success 2', () {});""", 89 test('success 2', () {});""",
(...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 399
400 import 'package:test/test.dart'; 400 import 'package:test/test.dart';
401 401
402 void main() { 402 void main() {
403 $tests 403 $tests
404 } 404 }
405 """; 405 """;
406 406
407 d.file("test.dart", dart).create(); 407 d.file("test.dart", dart).create();
408 408
409 var test = runTest(["test.dart"], compact: true); 409 var test = runTest(["test.dart"], reporter: "compact");
410 test.shouldExit(); 410 test.shouldExit();
411 411
412 schedule(() async { 412 schedule(() async {
413 var stdoutLines = await test.stdoutStream().toList(); 413 var stdoutLines = await test.stdoutStream().toList();
414 414
415 // Skip the first CR, remove excess trailing whitespace, and trim off 415 // Skip the first CR, remove excess trailing whitespace, and trim off
416 // timestamps. 416 // timestamps.
417 var lastLine; 417 var lastLine;
418 var actual = stdoutLines.skip(1).map((line) { 418 var actual = stdoutLines.skip(1).map((line) {
419 if (line.startsWith(" ") || line.isEmpty) return line.trimRight(); 419 if (line.startsWith(" ") || line.isEmpty) return line.trimRight();
(...skipping 11 matching lines...) Expand all
431 // Un-indent the expected string. 431 // Un-indent the expected string.
432 var indentation = expected.indexOf(new RegExp("[^ ]")); 432 var indentation = expected.indexOf(new RegExp("[^ ]"));
433 expected = expected.split("\n").map((line) { 433 expected = expected.split("\n").map((line) {
434 if (line.isEmpty) return line; 434 if (line.isEmpty) return line;
435 return line.substring(indentation); 435 return line.substring(indentation);
436 }).join("\n"); 436 }).join("\n");
437 437
438 expect(actual, equals(expected)); 438 expect(actual, equals(expected));
439 }); 439 });
440 } 440 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698