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 @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 |
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
324 | 324 |
325 test("displays a skipped group", () { | 325 test("displays a skipped group", () { |
326 _expectReport(""" | 326 _expectReport(""" |
327 group('skip', () { | 327 group('skip', () { |
328 test('test 1', () {}); | 328 test('test 1', () {}); |
329 test('test 2', () {}); | 329 test('test 2', () {}); |
330 test('test 3', () {}); | 330 test('test 3', () {}); |
331 }, skip: true);""", | 331 }, skip: true);""", |
332 """ | 332 """ |
333 +0: loading test.dart | 333 +0: loading test.dart |
334 +0: skip | 334 +0: skip test 1 |
335 +0 ~1: skip | 335 +0 ~1: skip test 1 |
336 +0 ~1: All tests skipped."""); | 336 +0 ~1: skip test 2 |
| 337 +0 ~2: skip test 2 |
| 338 +0 ~2: skip test 3 |
| 339 +0 ~3: skip test 3 |
| 340 +0 ~3: All tests skipped."""); |
337 }); | 341 }); |
338 | 342 |
339 test("runs skipped tests along with successful tests", () { | 343 test("runs skipped tests along with successful tests", () { |
340 _expectReport(""" | 344 _expectReport(""" |
341 test('skip 1', () {}, skip: true); | 345 test('skip 1', () {}, skip: true); |
342 test('success 1', () {}); | 346 test('success 1', () {}); |
343 test('skip 2', () {}, skip: true); | 347 test('skip 2', () {}, skip: true); |
344 test('success 2', () {});""", | 348 test('success 2', () {});""", |
345 """ | 349 """ |
346 +0: loading test.dart | 350 +0: loading test.dart |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
397 +0: skip 1 | 401 +0: skip 1 |
398 Skip: some reason | 402 Skip: some reason |
399 | 403 |
400 +0 ~1: skip 1 | 404 +0 ~1: skip 1 |
401 +0 ~1: skip 2 | 405 +0 ~1: skip 2 |
402 Skip: or another | 406 Skip: or another |
403 | 407 |
404 +0 ~2: skip 2 | 408 +0 ~2: skip 2 |
405 +0 ~2: All tests skipped."""); | 409 +0 ~2: All tests skipped."""); |
406 }); | 410 }); |
| 411 |
| 412 test("runs skipped tests with --run-skipped", () { |
| 413 _expectReport(""" |
| 414 test('skip 1', () {}, skip: 'some reason'); |
| 415 test('skip 2', () {}, skip: 'or another');""", |
| 416 """ |
| 417 +0: loading test.dart |
| 418 +0: skip 1 |
| 419 +1: skip 1 |
| 420 +1: skip 2 |
| 421 +2: skip 2 |
| 422 +2: All tests passed!""", |
| 423 args: ["--run-skipped"]); |
| 424 }); |
407 }); | 425 }); |
408 } | 426 } |
409 | 427 |
410 void _expectReport(String tests, String expected) { | 428 void _expectReport(String tests, String expected, {List<String> args}) { |
411 var dart = """ | 429 var dart = """ |
412 import 'dart:async'; | 430 import 'dart:async'; |
413 | 431 |
414 import 'package:test/test.dart'; | 432 import 'package:test/test.dart'; |
415 | 433 |
416 void main() { | 434 void main() { |
417 $tests | 435 $tests |
418 } | 436 } |
419 """; | 437 """; |
420 | 438 |
421 d.file("test.dart", dart).create(); | 439 d.file("test.dart", dart).create(); |
422 | 440 |
423 var test = runTest(["test.dart"], reporter: "compact"); | 441 var test = runTest(["test.dart"]..addAll(args ?? []), reporter: "compact"); |
424 test.shouldExit(); | 442 test.shouldExit(); |
425 | 443 |
426 schedule(() async { | 444 schedule(() async { |
427 var stdoutLines = await test.stdoutStream().toList(); | 445 var stdoutLines = await test.stdoutStream().toList(); |
428 | 446 |
429 // Skip the first CR, remove excess trailing whitespace, and trim off | 447 // Skip the first CR, remove excess trailing whitespace, and trim off |
430 // timestamps. | 448 // timestamps. |
431 var lastLine; | 449 var lastLine; |
432 var actual = stdoutLines.skip(1).map((line) { | 450 var actual = stdoutLines.skip(1).map((line) { |
433 if (line.startsWith(" ") || line.isEmpty) return line.trimRight(); | 451 if (line.startsWith(" ") || line.isEmpty) return line.trimRight(); |
(...skipping 11 matching lines...) Expand all Loading... |
445 // Un-indent the expected string. | 463 // Un-indent the expected string. |
446 var indentation = expected.indexOf(new RegExp("[^ ]")); | 464 var indentation = expected.indexOf(new RegExp("[^ ]")); |
447 expected = expected.split("\n").map((line) { | 465 expected = expected.split("\n").map((line) { |
448 if (line.isEmpty) return line; | 466 if (line.isEmpty) return line; |
449 return line.substring(indentation); | 467 return line.substring(indentation); |
450 }).join("\n"); | 468 }).join("\n"); |
451 | 469 |
452 expect(actual, equals(expected)); | 470 expect(actual, equals(expected)); |
453 }); | 471 }); |
454 } | 472 } |
OLD | NEW |