summaryrefslogtreecommitdiffstats
path: root/tests/DumpRenderTree2/src/com/android/dumprendertree2/TextResult.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/DumpRenderTree2/src/com/android/dumprendertree2/TextResult.java')
-rw-r--r--tests/DumpRenderTree2/src/com/android/dumprendertree2/TextResult.java257
1 files changed, 0 insertions, 257 deletions
diff --git a/tests/DumpRenderTree2/src/com/android/dumprendertree2/TextResult.java b/tests/DumpRenderTree2/src/com/android/dumprendertree2/TextResult.java
deleted file mode 100644
index fd1c0ad..0000000
--- a/tests/DumpRenderTree2/src/com/android/dumprendertree2/TextResult.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.dumprendertree2;
-
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
-import android.webkit.WebView;
-import android.webkit.WebViewClassic;
-
-import name.fraser.neil.plaintext.diff_match_patch;
-
-import java.util.LinkedList;
-
-/**
- * A result object for which the expected output is text. It does not have an image
- * expected result.
- *
- * <p>Created if layoutTestController.dumpAsText() was called.
- */
-public class TextResult extends AbstractResult {
-
- private static final int MSG_DOCUMENT_AS_TEXT = 0;
-
- private String mExpectedResult;
- private String mExpectedResultPath;
- private String mActualResult;
- private String mRelativePath;
- private boolean mDidTimeOut;
- private ResultCode mResultCode;
- transient private Message mResultObtainedMsg;
-
- private boolean mDumpChildFramesAsText;
-
- transient private Handler mHandler = new Handler() {
- @Override
- public void handleMessage(Message msg) {
- if (msg.what == MSG_DOCUMENT_AS_TEXT) {
- mActualResult = (String)msg.obj;
- mResultObtainedMsg.sendToTarget();
- }
- }
- };
-
- public TextResult(String relativePath) {
- mRelativePath = relativePath;
- }
-
- public void setDumpChildFramesAsText(boolean dumpChildFramesAsText) {
- mDumpChildFramesAsText = dumpChildFramesAsText;
- }
-
- /**
- * Used to recreate the Result when received by the service.
- *
- * @param bundle
- * bundle with data used to recreate the result
- */
- public TextResult(Bundle bundle) {
- mExpectedResult = bundle.getString("expectedTextualResult");
- mExpectedResultPath = bundle.getString("expectedTextualResultPath");
- mActualResult = bundle.getString("actualTextualResult");
- setAdditionalTextOutputString(bundle.getString("additionalTextOutputString"));
- mRelativePath = bundle.getString("relativePath");
- mDidTimeOut = bundle.getBoolean("didTimeOut");
- }
-
- @Override
- public void clearResults() {
- super.clearResults();
- mExpectedResult = null;
- mActualResult = null;
- }
-
- @Override
- public ResultCode getResultCode() {
- if (mResultCode == null) {
- mResultCode = resultsMatch() ? AbstractResult.ResultCode.RESULTS_MATCH
- : AbstractResult.ResultCode.RESULTS_DIFFER;
- }
- return mResultCode;
- }
-
- private boolean resultsMatch() {
- assert mExpectedResult != null;
- assert mActualResult != null;
- // Trim leading and trailing empty lines, as other WebKit platforms do.
- String leadingEmptyLines = "^\\n+";
- String trailingEmptyLines = "\\n+$";
- String trimmedExpectedResult = mExpectedResult.replaceFirst(leadingEmptyLines, "")
- .replaceFirst(trailingEmptyLines, "");
- String trimmedActualResult = mActualResult.replaceFirst(leadingEmptyLines, "")
- .replaceFirst(trailingEmptyLines, "");
- return trimmedExpectedResult.equals(trimmedActualResult);
- }
-
- @Override
- public boolean didCrash() {
- return false;
- }
-
- @Override
- public boolean didTimeOut() {
- return mDidTimeOut;
- }
-
- @Override
- public void setDidTimeOut() {
- mDidTimeOut = true;
- }
-
- @Override
- public byte[] getActualImageResult() {
- return null;
- }
-
- @Override
- public String getActualTextResult() {
- String additionalTextResultString = getAdditionalTextOutputString();
- if (additionalTextResultString != null) {
- return additionalTextResultString + mActualResult;
- }
-
- return mActualResult;
- }
-
- @Override
- public void setExpectedImageResult(byte[] expectedResult) {
- /** This method is not applicable to this type of result */
- }
-
- @Override
- public void setExpectedImageResultPath(String relativePath) {
- /** This method is not applicable to this type of result */
- }
-
- @Override
- public String getExpectedImageResultPath() {
- /** This method is not applicable to this type of result */
- return null;
- }
-
- @Override
- public void setExpectedTextResultPath(String relativePath) {
- mExpectedResultPath = relativePath;
- }
-
- @Override
- public String getExpectedTextResultPath() {
- return mExpectedResultPath;
- }
-
- @Override
- public void setExpectedTextResult(String expectedResult) {
- // For text results, we use an empty string for the expected result when none is
- // present, as other WebKit platforms do.
- mExpectedResult = expectedResult == null ? "" : expectedResult;
- }
-
- @Override
- public String getDiffAsHtml() {
- assert mExpectedResult != null;
- assert mActualResult != null;
-
- StringBuilder html = new StringBuilder();
- html.append("<table class=\"visual_diff\">");
- html.append(" <tr class=\"headers\">");
- html.append(" <td colspan=\"2\">Expected result:</td>");
- html.append(" <td class=\"space\"></td>");
- html.append(" <td colspan=\"2\">Actual result:</td>");
- html.append(" </tr>");
-
- appendDiffHtml(html);
-
- html.append(" <tr class=\"footers\">");
- html.append(" <td colspan=\"2\"></td>");
- html.append(" <td class=\"space\"></td>");
- html.append(" <td colspan=\"2\"></td>");
- html.append(" </tr>");
- html.append("</table>");
-
- return html.toString();
- }
-
- private void appendDiffHtml(StringBuilder html) {
- LinkedList<diff_match_patch.Diff> diffs =
- new diff_match_patch().diff_main(mExpectedResult, mActualResult);
-
- diffs = VisualDiffUtils.splitDiffsOnNewline(diffs);
-
- LinkedList<String> expectedLines = new LinkedList<String>();
- LinkedList<Integer> expectedLineNums = new LinkedList<Integer>();
- LinkedList<String> actualLines = new LinkedList<String>();
- LinkedList<Integer> actualLineNums = new LinkedList<Integer>();
-
- VisualDiffUtils.generateExpectedResultLines(diffs, expectedLineNums, expectedLines);
- VisualDiffUtils.generateActualResultLines(diffs, actualLineNums, actualLines);
- // TODO: We should use a map for each line number and lines pair.
- assert expectedLines.size() == expectedLineNums.size();
- assert actualLines.size() == actualLineNums.size();
- assert expectedLines.size() == actualLines.size();
-
- html.append(VisualDiffUtils.getHtml(expectedLineNums, expectedLines,
- actualLineNums, actualLines));
- }
-
- @Override
- public TestType getType() {
- return TestType.TEXT;
- }
-
- @Override
- public void obtainActualResults(WebView webview, Message resultObtainedMsg) {
- mResultObtainedMsg = resultObtainedMsg;
- Message msg = mHandler.obtainMessage(MSG_DOCUMENT_AS_TEXT);
-
- /**
- * arg1 - should dump top frame as text
- * arg2 - should dump child frames as text
- */
- msg.arg1 = 1;
- msg.arg2 = mDumpChildFramesAsText ? 1 : 0;
- WebViewClassic.fromWebView(webview).documentAsText(msg);
- }
-
- @Override
- public Bundle getBundle() {
- Bundle bundle = new Bundle();
- bundle.putString("expectedTextualResult", mExpectedResult);
- bundle.putString("expectedTextualResultPath", mExpectedResultPath);
- bundle.putString("actualTextualResult", getActualTextResult());
- bundle.putString("additionalTextOutputString", getAdditionalTextOutputString());
- bundle.putString("relativePath", mRelativePath);
- bundle.putBoolean("didTimeOut", mDidTimeOut);
- bundle.putString("type", getType().name());
- return bundle;
- }
-
- @Override
- public String getRelativePath() {
- return mRelativePath;
- }
-}