Index: dart/compiler/javatests/com/google/dart/compiler/PrettyErrorFormatterTest.java |
diff --git a/dart/compiler/javatests/com/google/dart/compiler/PrettyErrorFormatterTest.java b/dart/compiler/javatests/com/google/dart/compiler/PrettyErrorFormatterTest.java |
deleted file mode 100644 |
index 94839a9a8be157c0be1bbe3cccf9176c46c964ca..0000000000000000000000000000000000000000 |
--- a/dart/compiler/javatests/com/google/dart/compiler/PrettyErrorFormatterTest.java |
+++ /dev/null |
@@ -1,279 +0,0 @@ |
-// Copyright (c) 2012, 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. |
-package com.google.dart.compiler; |
- |
-import com.google.common.base.Joiner; |
-import com.google.dart.compiler.CompilerConfiguration.ErrorFormat; |
-import com.google.dart.compiler.parser.DartScanner.Location; |
-import com.google.dart.compiler.resolver.ResolverErrorCode; |
-import com.google.dart.compiler.resolver.TypeErrorCode; |
- |
-import junit.framework.TestCase; |
- |
-import java.io.ByteArrayOutputStream; |
-import java.io.IOException; |
-import java.io.PrintStream; |
-import java.io.Reader; |
- |
-/** |
- * Test for {@link PrettyErrorFormatter}. |
- */ |
-public class PrettyErrorFormatterTest extends TestCase { |
- private static final String ERROR_BOLD_COLOR = PrettyErrorFormatter.ERROR_BOLD_COLOR; |
- private static final String ERROR_COLOR = PrettyErrorFormatter.ERROR_COLOR; |
- private static final String WARNING_BOLD_COLOR = PrettyErrorFormatter.WARNING_BOLD_COLOR; |
- private static final String WARNING_COLOR = PrettyErrorFormatter.WARNING_COLOR; |
- private static final String NO_COLOR = PrettyErrorFormatter.NO_COLOR; |
- |
- private static final Source SOURCE = new DartSourceTest("my/path/Test.dart", |
- Joiner.on("\n").join("lineAAA", "lineBBB", "lineCCC"), |
- new MockLibrarySource()); |
- |
- /** |
- * Not a {@link DartSource}, rollback to {@link DefaultErrorFormatter}. |
- */ |
- public void test_notDartSource() throws Exception { |
- Source emptyDartSource = new SourceTest("Test.dart") { |
- @Override |
- public Reader getSourceReader() { |
- return null; |
- } |
- }; |
- Location location = new Location(2); |
- DartCompilationError error = |
- new DartCompilationError(emptyDartSource, location, TypeErrorCode.NO_SUCH_TYPE, "Foo"); |
- // |
- String errorString = getErrorString(error, false, false); |
- assertEquals("Test.dart:1:3: no such type \"Foo\"\n", errorString); |
- } |
- |
- /** |
- * Use {@link DartSource} with source {@link Reader} which throws {@link IOException}, rollback to |
- * {@link DefaultErrorFormatter}. |
- */ |
- public void test_throwsIOException() throws Exception { |
- Source badDartSource = new DartSourceTest("my/path/Test.dart", "", new MockLibrarySource()) { |
- @Override |
- public Reader getSourceReader() { |
- return new Reader() { |
- @Override |
- public int read(char[] cbuf, int off, int len) throws IOException { |
- throw new IOException("boo!"); |
- } |
- |
- @Override |
- public void close() { |
- } |
- }; |
- } |
- }; |
- Location location = new Location(2); |
- DartCompilationError error = |
- new DartCompilationError(badDartSource, location, TypeErrorCode.NO_SUCH_TYPE, "Foo"); |
- // |
- String errorString = getErrorString(error, false, false); |
- assertEquals( |
- "my/path/Test.dart:1:3: no such type \"Foo\" (sourced from Test_app)\n", |
- errorString); |
- } |
- |
- /** |
- * Empty {@link DartSource}, rollback to {@link DefaultErrorFormatter}. |
- */ |
- public void test_emptyDartSource() throws Exception { |
- Source emptyDartSource = new DartSourceTest("my/path/Test.dart", "", new MockLibrarySource()); |
- Location location = new Location(2); |
- DartCompilationError error = |
- new DartCompilationError(emptyDartSource, location, TypeErrorCode.NO_SUCH_TYPE, "Foo"); |
- // |
- String errorString = getErrorString(error, false, false); |
- assertEquals( |
- "my/path/Test.dart:1:3: no such type \"Foo\" (sourced from Test_app)\n", |
- errorString); |
- } |
- |
- /** |
- * Error on first line, so no previous line printed. |
- */ |
- public void test_noColor_notMachine_firstLine() throws Exception { |
- Location location = new Location(2, 5); |
- DartCompilationError error = |
- new DartCompilationError(SOURCE, location, TypeErrorCode.NO_SUCH_TYPE, "Foo"); |
- // |
- String errorString = getErrorString(error, false, false); |
- assertEquals( |
- Joiner.on("\n").join( |
- "my/path/Test.dart:1:3: no such type \"Foo\" (sourced from Test_app)", |
- " 1: lineAAA", |
- " ~~~", |
- ""), |
- errorString); |
- } |
- |
- /** |
- * {@link Location} with single <code>Position</code>, underline single character. |
- */ |
- public void test_noColor_notMachine_singlePosition() throws Exception { |
- Location location = new Location(10); |
- DartCompilationError error = |
- new DartCompilationError(SOURCE, location, TypeErrorCode.NO_SUCH_TYPE, "Foo"); |
- // |
- String errorString = getErrorString(error, false, false); |
- assertEquals( |
- Joiner.on("\n").join( |
- "my/path/Test.dart:2:3: no such type \"Foo\" (sourced from Test_app)", |
- " 1: lineAAA", |
- " 2: lineBBB", |
- " ~~~~~", |
- ""), |
- errorString); |
- } |
- |
- /** |
- * {@link Location} with single <code>Position</code>, underline single character. |
- */ |
- public void test_withColor_notMachine_singlePosition() throws Exception { |
- Location location = new Location(10); |
- DartCompilationError error = |
- new DartCompilationError(SOURCE, location, TypeErrorCode.NO_SUCH_TYPE, "Foo"); |
- String errorString = getErrorString(error, true, false); |
- assertEquals( |
- Joiner.on("\n").join( |
- WARNING_BOLD_COLOR |
- + "my/path/Test.dart:2:3: no such type \"Foo\" (sourced from Test_app)" |
- + NO_COLOR, |
- " 1: lineAAA", |
- " 2: li" + WARNING_COLOR + "neBBB" + NO_COLOR, |
- ""), |
- errorString); |
- |
- error = new DartCompilationError(SOURCE, location, ResolverErrorCode.NO_SUCH_TYPE, "Foo"); |
- errorString = getErrorString(error, true, false); |
- assertEquals( |
- Joiner.on("\n").join( |
- ERROR_BOLD_COLOR |
- + "my/path/Test.dart:2:3: no such type \"Foo\" (sourced from Test_app)" |
- + NO_COLOR, |
- " 1: lineAAA", |
- " 2: li" + ERROR_COLOR + "neBBB" + NO_COLOR, |
- ""), |
- errorString); |
- } |
- |
- /** |
- * Underline range of characters. |
- */ |
- public void test_noColor_notMachine() throws Exception { |
- Location location = new Location(10, 10 + 3); |
- DartCompilationError error = |
- new DartCompilationError(SOURCE, location, TypeErrorCode.NO_SUCH_TYPE, "Foo"); |
- // |
- String errorString = getErrorString(error, false, false); |
- assertEquals( |
- Joiner.on("\n").join( |
- "my/path/Test.dart:2:3: no such type \"Foo\" (sourced from Test_app)", |
- " 1: lineAAA", |
- " 2: lineBBB", |
- " ~~~", |
- ""), |
- errorString); |
- } |
- |
- /** |
- * Use color to highlight range of characters. |
- */ |
- public void test_withColor_notMachine() throws Exception { |
- Location location = new Location(10, 10 + 3); |
- DartCompilationError error = |
- new DartCompilationError(SOURCE, location, TypeErrorCode.NO_SUCH_TYPE, "Foo"); |
- String errorString = getErrorString(error, true, false); |
- assertEquals( |
- Joiner.on("\n").join( |
- WARNING_BOLD_COLOR |
- + "my/path/Test.dart:2:3: no such type \"Foo\" (sourced from Test_app)" |
- + NO_COLOR, |
- " 1: lineAAA", |
- " 2: li" + WARNING_COLOR + "neB" + NO_COLOR + "BB", |
- ""), |
- errorString); |
- |
- error = new DartCompilationError(SOURCE, location, ResolverErrorCode.NO_SUCH_TYPE, "Foo"); |
- errorString = getErrorString(error, true, false); |
- assertEquals( |
- Joiner.on("\n").join( |
- ERROR_BOLD_COLOR |
- + "my/path/Test.dart:2:3: no such type \"Foo\" (sourced from Test_app)" |
- + NO_COLOR, |
- " 1: lineAAA", |
- " 2: li" + ERROR_COLOR + "neB" + NO_COLOR + "BB", |
- ""), |
- errorString); |
- } |
- |
- /** |
- * Include all information about error context. |
- */ |
- public void test_noColor_forMachine() throws Exception { |
- Location location = new Location(10, 10 + 4); |
- DartCompilationError error = |
- new DartCompilationError(SOURCE, location, TypeErrorCode.NO_SUCH_TYPE, "Foo"); |
- // |
- String errorString = getErrorString(error, false, true); |
- assertEquals( |
- Joiner.on("\n").join( |
- "WARNING|STATIC_TYPE|NO_SUCH_TYPE|my/path/Test.dart|2|3|4|no such type \"Foo\"", |
- " 1: lineAAA", |
- " 2: lineBBB", |
- " ~~~~", |
- ""), |
- errorString); |
- } |
- |
- /** |
- * Use color to highlight range of characters. Include all information about error context. |
- */ |
- public void test_withColor_forMachine() throws Exception { |
- Location location = new Location(10, 10 + 4); |
- DartCompilationError error = |
- new DartCompilationError(SOURCE, location, TypeErrorCode.NO_SUCH_TYPE, "Foo"); |
- String errorString = getErrorString(error, true, true); |
- assertEquals( |
- Joiner.on("\n").join( |
- WARNING_BOLD_COLOR |
- + "WARNING|STATIC_TYPE|NO_SUCH_TYPE|my/path/Test.dart|2|3|4|no such type \"Foo\"" |
- + NO_COLOR, |
- " 1: lineAAA", |
- " 2: li" + WARNING_COLOR + "neBB" + NO_COLOR + "B", |
- ""), |
- errorString); |
- |
- error = new DartCompilationError(SOURCE, location, ResolverErrorCode.NO_SUCH_TYPE, "Foo"); |
- errorString = getErrorString(error, true, true); |
- assertEquals( |
- Joiner.on("\n").join( |
- ERROR_BOLD_COLOR |
- + "ERROR|RESOLVER|NO_SUCH_TYPE|my/path/Test.dart|2|3|4|no such type \"Foo\"" |
- + NO_COLOR, |
- " 1: lineAAA", |
- " 2: li" + ERROR_COLOR + "neBB" + NO_COLOR + "B", |
- ""), |
- errorString); |
- } |
- |
- /** |
- * @return output produced by {@link PrettyErrorFormatter}. |
- */ |
- private String getErrorString(DartCompilationError error, |
- boolean useColor, |
- boolean printMachineProblems) { |
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); |
- PrintStream printStream = new PrintStream(outputStream); |
- ErrorFormatter errorFormatter = |
- new PrettyErrorFormatter(printStream, useColor, printMachineProblems |
- ? ErrorFormat.MACHINE |
- : ErrorFormat.NORMAL); |
- errorFormatter.format(error); |
- return outputStream.toString(); |
- } |
-} |