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.java30
1 files changed, 20 insertions, 10 deletions
diff --git a/tests/DumpRenderTree2/src/com/android/dumprendertree2/TextResult.java b/tests/DumpRenderTree2/src/com/android/dumprendertree2/TextResult.java
index f835b6a..1460178 100644
--- a/tests/DumpRenderTree2/src/com/android/dumprendertree2/TextResult.java
+++ b/tests/DumpRenderTree2/src/com/android/dumprendertree2/TextResult.java
@@ -87,20 +87,30 @@ public class TextResult extends AbstractResult {
@Override
public ResultCode getResultCode() {
- if (mResultCode != null) {
- return mResultCode;
- }
-
- if (mExpectedResult == null) {
- mResultCode = AbstractResult.ResultCode.NO_EXPECTED_RESULT;
- } else if (!mExpectedResult.equals(mActualResult)) {
- mResultCode = AbstractResult.ResultCode.RESULTS_DIFFER;
- } else {
- mResultCode = AbstractResult.ResultCode.RESULTS_MATCH;
+ if (mResultCode == null) {
+ if (mExpectedResult == null) {
+ mResultCode = AbstractResult.ResultCode.NO_EXPECTED_RESULT;
+ } else {
+ 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;