| 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 import 'dart:io'; | 5 import 'dart:io'; |
| 6 | 6 |
| 7 import 'package:path/path.dart' as p; | 7 import 'package:path/path.dart' as p; |
| 8 import 'package:unittest/src/util/exit_codes.dart' as exit_codes; | 8 import 'package:unittest/src/util/exit_codes.dart' as exit_codes; |
| 9 import 'package:unittest/unittest.dart'; | 9 import 'package:unittest/unittest.dart'; |
| 10 | 10 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 final _failure = """ | 25 final _failure = """ |
| 26 import 'dart:async'; | 26 import 'dart:async'; |
| 27 | 27 |
| 28 import 'package:unittest/unittest.dart'; | 28 import 'package:unittest/unittest.dart'; |
| 29 | 29 |
| 30 void main() { | 30 void main() { |
| 31 test("failure", () => throw new TestFailure("oh no")); | 31 test("failure", () => throw new TestFailure("oh no")); |
| 32 } | 32 } |
| 33 """; | 33 """; |
| 34 | 34 |
| 35 final _usage = """ |
| 36 Usage: pub run unittest:unittest [files or directories...] |
| 37 |
| 38 -h, --help Shows this usage information. |
| 39 --[no-]color Whether to use terminal colors. |
| 40 (auto-detected by default) |
| 41 """; |
| 42 |
| 35 void main() { | 43 void main() { |
| 36 setUp(() { | 44 setUp(() { |
| 37 _sandbox = Directory.systemTemp.createTempSync('unittest_').path; | 45 _sandbox = Directory.systemTemp.createTempSync('unittest_').path; |
| 38 }); | 46 }); |
| 39 | 47 |
| 40 tearDown(() { | 48 tearDown(() { |
| 41 new Directory(_sandbox).deleteSync(recursive: true); | 49 new Directory(_sandbox).deleteSync(recursive: true); |
| 42 }); | 50 }); |
| 43 | 51 |
| 44 test("prints help information", () { | 52 test("prints help information", () { |
| 45 var result = _runUnittest(["--help"]); | 53 var result = _runUnittest(["--help"]); |
| 46 expect(result.stdout, equals(""" | 54 expect(result.stdout, equals(""" |
| 47 Runs tests in this package. | 55 Runs tests in this package. |
| 48 | 56 |
| 49 Usage: pub run unittest:unittest [files or directories...] | 57 $_usage""")); |
| 50 | |
| 51 -h, --help Shows this usage information. | |
| 52 """)); | |
| 53 expect(result.exitCode, equals(exit_codes.success)); | 58 expect(result.exitCode, equals(exit_codes.success)); |
| 54 }); | 59 }); |
| 55 | 60 |
| 56 group("fails gracefully if", () { | 61 group("fails gracefully if", () { |
| 57 test("an invalid option is passed", () { | 62 test("an invalid option is passed", () { |
| 58 var result = _runUnittest(["--asdf"]); | 63 var result = _runUnittest(["--asdf"]); |
| 59 expect(result.stderr, equals(""" | 64 expect(result.stderr, equals(""" |
| 60 Could not find an option named "asdf". | 65 Could not find an option named "asdf". |
| 61 | 66 |
| 62 Usage: pub run unittest:unittest [files or directories...] | 67 $_usage""")); |
| 63 | |
| 64 -h, --help Shows this usage information. | |
| 65 """)); | |
| 66 expect(result.exitCode, equals(exit_codes.usage)); | 68 expect(result.exitCode, equals(exit_codes.usage)); |
| 67 }); | 69 }); |
| 68 | 70 |
| 69 test("a non-existent file is passed", () { | 71 test("a non-existent file is passed", () { |
| 70 var result = _runUnittest(["file"]); | 72 var result = _runUnittest(["file"]); |
| 71 expect(result.stderr, equals('Failed to load "file": Does not exist.\n')); | 73 expect(result.stderr, equals('Failed to load "file": Does not exist.\n')); |
| 72 expect(result.exitCode, equals(exit_codes.data)); | 74 expect(result.exitCode, equals(exit_codes.data)); |
| 73 }); | 75 }); |
| 74 | 76 |
| 75 test("the default directory doesn't exist", () { | 77 test("the default directory doesn't exist", () { |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 208 | 210 |
| 209 test("directly", () { | 211 test("directly", () { |
| 210 new File(p.join(_sandbox, "test.dart")).writeAsStringSync(_failure); | 212 new File(p.join(_sandbox, "test.dart")).writeAsStringSync(_failure); |
| 211 var result = _runDart([ | 213 var result = _runDart([ |
| 212 "--package-root=${p.join(packageDir, 'packages')}", | 214 "--package-root=${p.join(packageDir, 'packages')}", |
| 213 "test.dart" | 215 "test.dart" |
| 214 ]); | 216 ]); |
| 215 expect(result.stdout, contains("Some tests failed.")); | 217 expect(result.stdout, contains("Some tests failed.")); |
| 216 }); | 218 }); |
| 217 }); | 219 }); |
| 220 |
| 221 group("flags", () { |
| 222 test("with the --color flag, uses colors", () { |
| 223 new File(p.join(_sandbox, "test.dart")).writeAsStringSync(_failure); |
| 224 var result = _runUnittest(["--color", "test.dart"]); |
| 225 // This is the color code for red. |
| 226 expect(result.stdout, contains("\u001b[31m")); |
| 227 }); |
| 228 }); |
| 218 } | 229 } |
| 219 | 230 |
| 220 ProcessResult _runUnittest(List<String> args) => | 231 ProcessResult _runUnittest(List<String> args) => |
| 221 runUnittest(args, workingDirectory: _sandbox); | 232 runUnittest(args, workingDirectory: _sandbox); |
| 222 | 233 |
| 223 ProcessResult _runDart(List<String> args) => | 234 ProcessResult _runDart(List<String> args) => |
| 224 runDart(args, workingDirectory: _sandbox); | 235 runDart(args, workingDirectory: _sandbox); |
| OLD | NEW |