am ea48cd6d: Use a diff that ignores trailing whitespaces to get by some layout test failures.

Merge commit 'ea48cd6dd4e64bcb5c840a12fe052f704510e01c' into eclair-mr2

* commit 'ea48cd6dd4e64bcb5c840a12fe052f704510e01c':
  Use a diff that ignores trailing whitespaces to get by some layout test failures.
This commit is contained in:
Guang Zhu
2009-11-12 10:38:08 -08:00
committed by Android Git Automerger
2 changed files with 36 additions and 18 deletions

View File

@@ -26,6 +26,7 @@ import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.Pattern;
public class FsUtils {
@@ -121,4 +122,38 @@ public class FsUtils {
return url;
}
public static boolean diffIgnoreSpaces(String file1, String file2) throws IOException {
BufferedReader br1 = new BufferedReader(new FileReader(file1));
BufferedReader br2 = new BufferedReader(new FileReader(file2));
boolean same = true;
Pattern trailingSpace = Pattern.compile("\\s+$");
while(true) {
String line1 = br1.readLine();
String line2 = br2.readLine();
if (line1 == null && line2 == null)
break;
if (line1 != null) {
line1 = trailingSpace.matcher(line1).replaceAll("");
} else {
line1 = "";
}
if (line2 != null) {
line2 = trailingSpace.matcher(line2).replaceAll("");
} else {
line2 = "";
}
if(!line1.equals(line2)) {
same = false;
break;
}
}
br1.close();
br2.close();
return same;
}
}

View File

@@ -249,28 +249,11 @@ public class LayoutTestsAutoTest extends ActivityInstrumentationTestCase2<TestSh
File expected = new File(expectedResultFile);
if (actual.exists() && expected.exists()) {
try {
boolean passing = true;
BufferedReader fr = new BufferedReader(new FileReader(actual));
BufferedReader fe = new BufferedReader(new FileReader(expected));
while (true) {
String s1 = fr.readLine();
String s2 = fe.readLine();
if (s1 == null && s2 == null)
break; // both files are the same
if (s1 == null || s2 == null || !s1.equals(s2)) {
passing = false;
break;
}
}
if (passing) {
if (FsUtils.diffIgnoreSpaces(actualResultFile, expectedResultFile)) {
passedCase(testFile);
} else {
failedCase(testFile);
}
fe.close();
fr.close();
} catch (FileNotFoundException ex) {
Log.e(LOGTAG, "File not found : " + ex.getMessage());
} catch (IOException ex) {