OSDN Git Service

Trim empty lines when comparing text results in DumpRenderTree2
authorSteve Block <steveblock@google.com>
Wed, 29 Sep 2010 10:16:49 +0000 (11:16 +0100)
committerSteve Block <steveblock@google.com>
Wed, 29 Sep 2010 17:51:41 +0000 (18:51 +0100)
Change-Id: I94c9de8e6131f6b60456700e9d5a3b27c8c9d1c3

tests/DumpRenderTree2/src/com/android/dumprendertree2/TextResult.java

index f835b6a..1460178 100644 (file)
@@ -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;