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:
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user