| 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 'dart:io'; | 7 import 'dart:io'; |
| 8 import 'dart:math' as math; | 8 import 'dart:math' as math; |
| 9 | 9 |
| 10 import 'package:path/path.dart' as p; | 10 import 'package:path/path.dart' as p; |
| (...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 370 | 370 |
| 371 void main() { | 371 void main() { |
| 372 test("fail", () => throw 'oh no'); | 372 test("fail", () => throw 'oh no'); |
| 373 } | 373 } |
| 374 '''); | 374 '''); |
| 375 | 375 |
| 376 var result = _runUnittest(["test.dart"]); | 376 var result = _runUnittest(["test.dart"]); |
| 377 expect(result.stdout, contains("+0 ~1: All tests skipped.")); | 377 expect(result.stdout, contains("+0 ~1: All tests skipped.")); |
| 378 }); | 378 }); |
| 379 | 379 |
| 380 group("in onPlatform", () { | 380 group("with onPlatform", () { |
| 381 test("respects matching Skips", () { | 381 test("respects matching Skips", () { |
| 382 new File(p.join(_sandbox, "test.dart")).writeAsStringSync(''' | 382 new File(p.join(_sandbox, "test.dart")).writeAsStringSync(''' |
| 383 import 'dart:async'; | 383 import 'dart:async'; |
| 384 | 384 |
| 385 import 'package:test/test.dart'; | 385 import 'package:test/test.dart'; |
| 386 | 386 |
| 387 void main() { | 387 void main() { |
| 388 test("fail", () => throw 'oh no', onPlatform: {"vm": new Skip()}); | 388 test("fail", () => throw 'oh no', onPlatform: {"vm": new Skip()}); |
| 389 } | 389 } |
| 390 '''); | 390 '''); |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 464 expect(result.stdout, contains("Skip: fifth")); | 464 expect(result.stdout, contains("Skip: fifth")); |
| 465 expect(result.stdout, isNot(anyOf([ | 465 expect(result.stdout, isNot(anyOf([ |
| 466 contains("Skip: first"), | 466 contains("Skip: first"), |
| 467 contains("Skip: second"), | 467 contains("Skip: second"), |
| 468 contains("Skip: third"), | 468 contains("Skip: third"), |
| 469 contains("Skip: fourth") | 469 contains("Skip: fourth") |
| 470 ]))); | 470 ]))); |
| 471 }); | 471 }); |
| 472 }); | 472 }); |
| 473 | 473 |
| 474 group("with an @OnPlatform annotation", () { |
| 475 test("respects matching Skips", () { |
| 476 new File(p.join(_sandbox, "test.dart")).writeAsStringSync(''' |
| 477 @OnPlatform(const {"vm": const Skip()}) |
| 478 |
| 479 import 'dart:async'; |
| 480 |
| 481 import 'package:test/test.dart'; |
| 482 |
| 483 void main() { |
| 484 test("fail", () => throw 'oh no'); |
| 485 } |
| 486 '''); |
| 487 |
| 488 var result = _runUnittest(["test.dart"]); |
| 489 expect(result.stdout, contains("+0 ~1: All tests skipped.")); |
| 490 }); |
| 491 |
| 492 test("ignores non-matching Skips", () { |
| 493 new File(p.join(_sandbox, "test.dart")).writeAsStringSync(''' |
| 494 @OnPlatform(const {"chrome": const Skip()}) |
| 495 |
| 496 import 'dart:async'; |
| 497 |
| 498 import 'package:test/test.dart'; |
| 499 |
| 500 void main() { |
| 501 test("success", () {}); |
| 502 } |
| 503 '''); |
| 504 |
| 505 var result = _runUnittest(["test.dart"]); |
| 506 expect(result.stdout, contains("+1: All tests passed!")); |
| 507 }); |
| 508 |
| 509 test("respects matching Timeouts", () { |
| 510 new File(p.join(_sandbox, "test.dart")).writeAsStringSync(''' |
| 511 @OnPlatform(const { |
| 512 "vm": const Timeout(const Duration(seconds: 0)) |
| 513 }) |
| 514 |
| 515 import 'dart:async'; |
| 516 |
| 517 import 'package:test/test.dart'; |
| 518 |
| 519 void main() { |
| 520 test("fail", () => throw 'oh no'); |
| 521 } |
| 522 '''); |
| 523 |
| 524 var result = _runUnittest(["test.dart"]); |
| 525 expect(result.stdout, contains("Test timed out after 0 seconds.")); |
| 526 expect(result.stdout, contains("-1: Some tests failed.")); |
| 527 }); |
| 528 |
| 529 test("ignores non-matching Timeouts", () { |
| 530 new File(p.join(_sandbox, "test.dart")).writeAsStringSync(''' |
| 531 @OnPlatform(const { |
| 532 "chrome": const Timeout(const Duration(seconds: 0)) |
| 533 }) |
| 534 |
| 535 import 'dart:async'; |
| 536 |
| 537 import 'package:test/test.dart'; |
| 538 |
| 539 void main() { |
| 540 test("success", () {}); |
| 541 } |
| 542 '''); |
| 543 |
| 544 var result = _runUnittest(["test.dart"]); |
| 545 expect(result.stdout, contains("+1: All tests passed!")); |
| 546 }); |
| 547 }); |
| 548 |
| 474 group("flags:", () { | 549 group("flags:", () { |
| 475 test("with the --color flag, uses colors", () { | 550 test("with the --color flag, uses colors", () { |
| 476 new File(p.join(_sandbox, "test.dart")).writeAsStringSync(_failure); | 551 new File(p.join(_sandbox, "test.dart")).writeAsStringSync(_failure); |
| 477 var result = _runUnittest(["--color", "test.dart"]); | 552 var result = _runUnittest(["--color", "test.dart"]); |
| 478 // This is the color code for red. | 553 // This is the color code for red. |
| 479 expect(result.stdout, contains("\u001b[31m")); | 554 expect(result.stdout, contains("\u001b[31m")); |
| 480 }); | 555 }); |
| 481 | 556 |
| 482 group("with the --name flag,", () { | 557 group("with the --name flag,", () { |
| 483 test("selects tests with matching names", () { | 558 test("selects tests with matching names", () { |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 582 }); | 657 }); |
| 583 }); | 658 }); |
| 584 }); | 659 }); |
| 585 } | 660 } |
| 586 | 661 |
| 587 ProcessResult _runUnittest(List<String> args) => | 662 ProcessResult _runUnittest(List<String> args) => |
| 588 runUnittest(args, workingDirectory: _sandbox); | 663 runUnittest(args, workingDirectory: _sandbox); |
| 589 | 664 |
| 590 ProcessResult _runDart(List<String> args) => | 665 ProcessResult _runDart(List<String> args) => |
| 591 runDart(args, workingDirectory: _sandbox); | 666 runDart(args, workingDirectory: _sandbox); |
| OLD | NEW |