Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ea48cd6d authored by Guang Zhu's avatar Guang Zhu
Browse files

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

parent c66d53f9
Loading
Loading
Loading
Loading
+35 −0
Original line number Diff line number Diff line
@@ -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;
    }

}
+1 −18
Original line number Diff line number Diff line
@@ -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) {