OAK-4597:  Improve test coverage of blob GC

Minor cleanup & escaping/unescaping to fix some rare randomized test failures

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1754811 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FileIOUtilsTest.java b/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FileIOUtilsTest.java
index b3c26b7..f5f9bf0 100644
--- a/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FileIOUtilsTest.java
+++ b/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FileIOUtilsTest.java
@@ -132,7 +132,7 @@
 
         BufferedReader reader =
             new BufferedReader(new InputStreamReader(new FileInputStream(f), UTF_8));
-        String line = null;
+        String line;
         List<String> retrieved = newArrayList();
         while ((line = reader.readLine()) != null) {
             retrieved.add(line);
@@ -151,7 +151,7 @@
 
         BufferedReader reader =
             new BufferedReader(new InputStreamReader(new FileInputStream(f), UTF_8));
-        String line = null;
+        String line;
         List<String> retrieved = newArrayList();
         while ((line = reader.readLine()) != null) {
             retrieved.add(unescapeLineBreaks(line));
@@ -245,7 +245,7 @@
         File f = assertWrite(added.iterator(), false, added.size());
 
         BurnOnCloseFileIterator iterator =
-            BurnOnCloseFileIterator.wrap(FileUtils.lineIterator(f));
+            BurnOnCloseFileIterator.wrap(FileUtils.lineIterator(f, UTF_8.toString()));
 
         assertEquals(added, Sets.newHashSet(iterator));
         assertTrue(f.exists());
@@ -257,7 +257,7 @@
         File f = assertWrite(added.iterator(), false, added.size());
 
         BurnOnCloseFileIterator iterator =
-            BurnOnCloseFileIterator.wrap(FileUtils.lineIterator(f), f);
+            BurnOnCloseFileIterator.wrap(FileUtils.lineIterator(f, UTF_8.toString()), f);
 
         assertEquals(added, Sets.newHashSet(iterator));
         assertTrue(!f.exists());
@@ -269,7 +269,7 @@
         File f = assertWrite(added.iterator(), true, added.size());
 
         BurnOnCloseFileIterator iterator =
-            new BurnOnCloseFileIterator<String>(FileUtils.lineIterator(f),
+            new BurnOnCloseFileIterator<String>(FileUtils.lineIterator(f, UTF_8.toString()), f,
                 new Function<String, String>() {
                     @Nullable @Override public String apply(@Nullable String input) {
                         return unescapeLineBreaks(input);
@@ -277,6 +277,7 @@
                 });
 
         assertEquals(added, Sets.newHashSet(iterator));
+        assertTrue(!f.exists());
     }
 
     @Test
@@ -285,10 +286,18 @@
         for (int i = 0; i < 100; i++) {
             added.add(getRandomTestString());
         }
-        File f = assertWrite(added.iterator(), false, added.size());
+        File f = assertWrite(added.iterator(), true, added.size());
 
         BurnOnCloseFileIterator iterator =
-            BurnOnCloseFileIterator.wrap(FileUtils.lineIterator(f, UTF_8.toString()), f);
+            new BurnOnCloseFileIterator<String>(FileUtils.lineIterator(f, UTF_8.toString()),
+                f,
+                new Function<String, String>() {
+                    @Nullable
+                    @Override
+                    public String apply(@Nullable String input) {
+                        return unescapeLineBreaks(input);
+                    }
+                });
 
         assertEquals(added, Sets.newHashSet(iterator));
         assertTrue(!f.exists());
@@ -343,7 +352,7 @@
         return buffer.toString();
     }
 
-    static InputStream randomStream(int seed, int size) {
+    private static InputStream randomStream(int seed, int size) {
         Random r = new Random(seed);
         byte[] data = new byte[size];
         r.nextBytes(data);