Chromium Code Reviews| Index: pkg/intl/test/message_extraction/failed_extraction_test.dart |
| diff --git a/pkg/intl/test/message_extraction/failed_extraction_test.dart b/pkg/intl/test/message_extraction/failed_extraction_test.dart |
| index 38361b8181ad7ac1996cdfc07169023986717576..d58b8ceb26299d21642c36ef89179a968a3a4661 100644 |
| --- a/pkg/intl/test/message_extraction/failed_extraction_test.dart |
| +++ b/pkg/intl/test/message_extraction/failed_extraction_test.dart |
| @@ -1,16 +1,40 @@ |
| +// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| +// for details. All rights reserved. Use of this source code is governed by a |
| +// BSD-style license that can be found in the LICENSE file. |
| +library failed_extraction_test; |
| + |
| import "message_extraction_test.dart"; |
| import "dart:io"; |
| import "package:unittest/unittest.dart"; |
| main() { |
| - run(null, ["extract_to_json.dart", |
| - "sample_with_messages.dart", "part_of_sample_with_messages.dart"]) |
| - .then((ProcessResult result) { |
| - expect(result.exitCode, 0); |
| + test("Expect warnings but successful extraction", () { |
| + runTestWithWarnings(warningsAreErrors: false, expectedExitCode: 0); |
| }); |
| - run(null, ["extract_to_json.dart", "--warnings-are-errors", |
| - "sample_with_messages.dart", "part_of_sample_with_messages.dart"]) |
| - .then((ProcessResult result) { |
| - expect(result.exitCode, 1); |
| - }); |
| -} |
| +} |
| + |
| +void runTestWithWarnings({bool warningsAreErrors, int expectedExitCode}) { |
| + |
| + void verify(ProcessResult result) { |
| + try { |
| + expect(result.exitCode, expectedExitCode); |
| + } finally { |
| + deleteGeneratedFiles(); |
| + } |
| + } |
| + |
| + copyFilesToTempDirectory(); |
| + var program = inTestDir("extract_to_json.dart"); |
| + var args = ["--output-dir=$tempDir"]; |
| + if (warningsAreErrors) { |
| + args.add('--warnings-are-errors'); |
| + } |
| + var files = [inTempDir("sample_with_messages.dart"), inTempDir( |
| + "part_of_sample_with_messages.dart"),]; |
| + var allArgs = [program] |
| + ..addAll(args) |
| + ..addAll(files); |
| + print(allArgs); |
|
Emily Fortuna
2014/03/26 17:53:07
debug line?
Alan Knight
2014/03/27 17:14:21
Oops. Done.
|
| + var callback = expectAsync(verify); |
| + run(null, allArgs).then(callback); |
| +} |