Index: compiler/javatests/com/google/dart/compiler/backend/js/SnippetTestCase.java |
diff --git a/compiler/javatests/com/google/dart/compiler/backend/js/SnippetTestCase.java b/compiler/javatests/com/google/dart/compiler/backend/js/SnippetTestCase.java |
deleted file mode 100644 |
index 157fad9a96e70feda4abd291fb4cd7739cdd6762..0000000000000000000000000000000000000000 |
--- a/compiler/javatests/com/google/dart/compiler/backend/js/SnippetTestCase.java |
+++ /dev/null |
@@ -1,163 +0,0 @@ |
-// Copyright (c) 2011, 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.backend.js; |
- |
-import com.google.common.base.Strings; |
-import com.google.dart.compiler.CommandLineOptions.CompilerOptions; |
-import com.google.dart.compiler.CompilerConfiguration; |
-import com.google.dart.compiler.CompilerTestCase; |
-import com.google.dart.compiler.DartCompiler; |
-import com.google.dart.compiler.DartCompilerListenerTest; |
-import com.google.dart.compiler.DartSourceTest; |
-import com.google.dart.compiler.DefaultCompilerConfiguration; |
-import com.google.dart.compiler.MockArtifactProvider; |
-import com.google.dart.compiler.MockLibrarySource; |
- |
-import java.io.IOException; |
-import java.net.URL; |
-import java.util.ArrayList; |
-import java.util.List; |
- |
-/** |
- * Tests for binary expression optimizations. |
- */ |
-public abstract class SnippetTestCase extends CompilerTestCase { |
- |
- private static final String MARKER = "_marker_"; |
- |
- private MockArtifactProvider provider = new MockArtifactProvider(); |
- private JavascriptBackend jsBackend = new JavascriptBackend(); |
- protected AbstractJsBackend getBackend() { |
- return jsBackend; |
- } |
- |
- @Override |
- protected void tearDown() throws Exception { |
- provider = null; |
- jsBackend = null; |
- super.tearDown(); |
- } |
- |
- protected String compileSingleUnit(String filePath) throws IOException { |
- return compileSingleUnit(filePath, "Main"); |
- } |
- |
- protected String compileSingleUnit(String filePath, String part) throws IOException { |
- URL url = inputUrlFor(getClass(), filePath + ".dart"); |
- String source = readUrl(url); |
- return compileSingleUnitSource(source, part); |
- } |
- |
- protected String compileSingleUnitSource(String source, String part) throws IOException { |
- MockLibrarySource lib = new MockLibrarySource(); |
- DartSourceTest src = new DartSourceTest("test", source, lib); |
- lib.addSource(src); |
- CompilerOptions options = new CompilerOptions(); |
- CompilerConfiguration config = new DefaultCompilerConfiguration(this.getBackend(), options); |
- DartCompilerListenerTest listener = new DartCompilerListenerTest(src.getName()); |
- DartCompiler.compileLib(lib, config, provider, listener); |
- listener.checkAllErrorsReported(); |
- return provider.getArtifactString(src, part, JavascriptBackend.EXTENSION_JS); |
- } |
- |
- protected List<String> findMarkerLines(String js) { |
- assertNotNull(js); |
- List<String> lines = new ArrayList<String>(); |
- |
- int begin = 0; |
- int end = 0; |
- while (true) { |
- begin = js.indexOf(MARKER, begin); |
- if (begin < 0) { |
- break; |
- } |
- end = js.indexOf(';', begin); |
- if (end > begin) { |
- lines.add(js.substring(begin + MARKER.length(), end)); |
- } |
- begin = end; |
- } |
- |
- return lines; |
- } |
- |
- /** |
- * Returns the specified occurence of the marker string inside of the JS code or null if there is |
- * none. Note that this method may miss the text around the specified occurence of the marker. |
- */ |
- protected String findMarkerAtOccurrence(String js, String marker, int occurrence) { |
- int begin = 0; |
- int end = 0; |
- int nOccurrence = 0; |
- while (true) { |
- begin = js.indexOf(marker, begin); |
- if (begin < 0) { |
- break; |
- } |
- nOccurrence++; |
- end = js.indexOf(';', begin); |
- if (end > begin && occurrence == nOccurrence) { |
- return js.substring(begin, end); |
- } |
- |
- begin = end; |
- } |
- |
- return null; |
- } |
- |
- /** |
- * Returns the specified occurrence of the marker string inside of the JS code by splitting the |
- * string using the specified regex and then locating the occurrence. This method allows you to |
- * control how much of the text around the marker occurence you are interested in. |
- */ |
- protected String findMarkerAtOccurrence(String js, String marker, String regEx, int occurrence) { |
- int iOccurrence = 0; |
- String[] strings = js.split(regEx); |
- for (int i = 0; i < strings.length; ++i) { |
- if (strings[i].indexOf(marker) != -1) { |
- if (++iOccurrence == occurrence) { |
- return strings[i].trim(); |
- } |
- } |
- } |
- return null; |
- } |
- |
- protected static String replaceTemps(String js) { |
- return Strings.isNullOrEmpty(js) ? "" : js.replaceAll("tmp\\$[0-9]+", "tmp"); |
- } |
- |
- protected String[] getFunctionBody(String name, String corpus) { |
- assertTrue(!Strings.isNullOrEmpty(name)); |
- int start = corpus.indexOf(name); |
- if (start == -1) { |
- return new String[0]; |
- } |
- int len = corpus.length(); |
- while (start < len && corpus.charAt(start) != '{') { |
- start++; |
- } |
- int end = start; |
- int count = 0; |
- while (end < len) { |
- if (corpus.charAt(end) == '{') |
- count++; |
- if (corpus.charAt(end) == '}') |
- count--; |
- end++; |
- if (count == 0) |
- break; |
- } |
- assert end >= start; |
- List<String> result = new ArrayList<String>(); |
- for (String s : corpus.substring(start, end).split("\\n")) { |
- if (s.equals("{") || s.equals("}")) |
- continue; |
- result.add(s.trim()); |
- } |
- return result.toArray(new String[0]); |
- } |
-} |