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

Unified Diff: pkg/intl/test/message_extraction/message_extraction_test.dart

Issue 814113004: Pull args, intl, logging, shelf, and source_maps out of the SDK. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Also csslib. Created 6 years 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 side-by-side diff with in-line comments
Download patch
Index: pkg/intl/test/message_extraction/message_extraction_test.dart
diff --git a/pkg/intl/test/message_extraction/message_extraction_test.dart b/pkg/intl/test/message_extraction/message_extraction_test.dart
deleted file mode 100644
index 2428b5835ba26ff3e2f506914603a394131631c7..0000000000000000000000000000000000000000
--- a/pkg/intl/test/message_extraction/message_extraction_test.dart
+++ /dev/null
@@ -1,160 +0,0 @@
-// Copyright (c) 2013, 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 message_extraction_test;
-
-import 'package:unittest/unittest.dart';
-import 'dart:io';
-import 'dart:async';
-import 'dart:convert';
-import 'package:path/path.dart' as path;
-import '../data_directory.dart';
-
-final dart = Platform.executable;
-
-/** Should we use deferred loading. */
-bool useDeferredLoading = true;
-
-String get _deferredLoadPrefix => useDeferredLoading ? '' : 'no-';
-
-String get deferredLoadArg => '--${_deferredLoadPrefix}use-deferred-loading';
-
-/** The VM arguments we were given, most important package-root. */
-final vmArgs = Platform.executableArguments;
-
-/**
- * For testing we move the files into a temporary directory so as not to leave
- * generated files around after a failed test. For debugging, we omit that
- * step if [useLocalDirectory] is true. The place we move them to is saved as
- * [tempDir].
- */
-String get tempDir => _tempDir == null ? _tempDir = _createTempDir() : _tempDir;
-var _tempDir;
-_createTempDir() => useLocalDirectory ? '.' :
- Directory.systemTemp.createTempSync('message_extraction_test').path;
-
-var useLocalDirectory = false;
-
-/**
- * Translate a relative file path into this test directory. This is
- * applied to all the arguments of [run]. It will ignore a string that
- * is an absolute path or begins with "--", because some of the arguments
- * might be command-line options.
- */
-String asTestDirPath([String s]) {
- if (s == null || s.startsWith("--") || path.isAbsolute(s)) return s;
- return path.join(intlDirectory, 'test', 'message_extraction', s);
-}
-
-/**
- * Translate a relative file path into our temp directory. This is
- * applied to all the arguments of [run]. It will ignore a string that
- * is an absolute path or begins with "--", because some of the arguments
- * might be command-line options.
- */
-String asTempDirPath([String s]) {
- if (s == null || s.startsWith("--") || path.isAbsolute(s)) return s;
- return path.join(tempDir, s);
-}
-
-main(arguments) {
- // If debugging, use --local to avoid copying everything to temporary
- // directories to make it even harder to debug. Note that this will also
- // not delete the generated files, so may require manual cleanup.
- if (arguments.contains("--local")) {
- print("Testing using local directory for generated files");
- useLocalDirectory = true;
- }
- setUp(copyFilesToTempDirectory);
- tearDown(deleteGeneratedFiles);
- test("Test round trip message extraction, translation, code generation, "
- "and printing", () {
- var makeSureWeVerify = expectAsync(runAndVerify);
- return extractMessages(null).then((result) {
- return generateTranslationFiles(result);
- }).then((result) {
- return generateCodeFromTranslation(result);
- }).then(makeSureWeVerify).then(checkResult);
- });
-}
-
-void copyFilesToTempDirectory() {
- if (useLocalDirectory) return;
- var files = [asTestDirPath('sample_with_messages.dart'),
- asTestDirPath('part_of_sample_with_messages.dart'),
- asTestDirPath('verify_messages.dart'),
- asTestDirPath('run_and_verify.dart'),
- asTestDirPath('embedded_plural_text_before.dart'),
- asTestDirPath('embedded_plural_text_after.dart'),
- asTestDirPath('print_to_list.dart')];
- for (var filename in files) {
- var file = new File(filename);
- file.copySync(path.join(tempDir, path.basename(filename)));
- }
-}
-
-void deleteGeneratedFiles() {
- if (useLocalDirectory) return;
- try {
- new Directory(tempDir).deleteSync(recursive: true);
- } on Error catch (e) {
- print("Failed to delete $tempDir");
- print("Exception:\n$e");
- }
-}
-
-/**
- * Run the process with the given list of filenames, which we assume
- * are in dir() and need to be qualified in case that's not our working
- * directory.
- */
-Future<ProcessResult> run(ProcessResult previousResult, List<String> filenames)
- {
- // If there's a failure in one of the sub-programs, print its output.
- checkResult(previousResult);
- var filesInTheRightDirectory = filenames.map((x) => asTempDirPath(x)).toList(
- );
- // Inject the script argument --output-dir in between the script and its
- // arguments.
- var args = []
- ..addAll(vmArgs)
- ..add(filesInTheRightDirectory.first)
- ..addAll(["--output-dir=$tempDir"])
- ..addAll(filesInTheRightDirectory.skip(1));
- var result = Process.run(dart, args, stdoutEncoding: UTF8, stderrEncoding:
- UTF8);
- return result;
-}
-
-void checkResult(ProcessResult previousResult) {
- if (previousResult != null) {
- if (previousResult.exitCode != 0) {
- print("Error running sub-program:");
- }
- print(previousResult.stdout);
- print(previousResult.stderr);
- print("exitCode=${previousResult.exitCode}");
- // Fail the test.
- expect(previousResult.exitCode, 0);
- }
-}
-
-Future<ProcessResult> extractMessages(ProcessResult previousResult) => run(
- previousResult, [asTestDirPath('../../bin/extract_to_arb.dart'),
- '--suppress-warnings', 'sample_with_messages.dart',
- 'part_of_sample_with_messages.dart']);
-
-Future<ProcessResult> generateTranslationFiles(ProcessResult previousResult) =>
- run(previousResult,
- [asTestDirPath('make_hardcoded_translation.dart'),
- 'intl_messages.arb']);
-
-Future<ProcessResult> generateCodeFromTranslation(ProcessResult previousResult)
- => run(previousResult, [asTestDirPath('../../bin/generate_from_arb.dart'),
- deferredLoadArg, '--generated-file-prefix=foo_',
- 'sample_with_messages.dart', 'part_of_sample_with_messages.dart',
- 'translation_fr.arb', 'translation_de_DE.arb']);
-
-Future<ProcessResult> runAndVerify(ProcessResult previousResult) => run(
- previousResult, [asTempDirPath('run_and_verify.dart')]);

Powered by Google App Engine
This is Rietveld 408576698