Index: libadblockplus-android-tests/src/org/adblockplus/libadblockplus/tests/BaseJsTest.java |
diff --git a/libadblockplus-android-tests/src/org/adblockplus/libadblockplus/tests/BaseJsTest.java b/libadblockplus-android-tests/src/org/adblockplus/libadblockplus/tests/BaseJsTest.java |
index 544fcb741ad70fafab905f8f2b04a6de673ecda8..56c1431e8c6341b319dafe6c23d3f36cb958a5db 100644 |
--- a/libadblockplus-android-tests/src/org/adblockplus/libadblockplus/tests/BaseJsTest.java |
+++ b/libadblockplus-android-tests/src/org/adblockplus/libadblockplus/tests/BaseJsTest.java |
@@ -18,16 +18,26 @@ |
package org.adblockplus.libadblockplus.tests; |
import org.adblockplus.libadblockplus.AppInfo; |
+import org.adblockplus.libadblockplus.FileSystemUtils; |
import org.adblockplus.libadblockplus.JsEngine; |
-import org.adblockplus.libadblockplus.LazyLogSystem; |
import org.adblockplus.libadblockplus.ThrowingWebRequest; |
import android.content.Context; |
import android.test.InstrumentationTestCase; |
+import java.io.File; |
+ |
public abstract class BaseJsTest extends InstrumentationTestCase |
{ |
protected JsEngine jsEngine; |
+ protected File tmpFileSystemPath; |
+ |
+ protected File buildTmpFileSystemPath() |
+ { |
+ File tmpFileSystemPath = FileSystemUtils.generateUniqueFile(null, ".fs", getContext().getCacheDir()); |
+ tmpFileSystemPath.mkdirs(); |
+ return tmpFileSystemPath; |
+ } |
@Override |
protected void setUp() throws Exception |
@@ -36,10 +46,30 @@ public abstract class BaseJsTest extends InstrumentationTestCase |
jsEngine = new JsEngine(AppInfo.builder().build()); |
jsEngine.setDefaultLogSystem(); |
- jsEngine.setDefaultFileSystem(getContext().getFilesDir().getAbsolutePath()); |
+ |
+ // we need to generate new file system path in order |
+ // not to have JsEngine state from the previous test |
+ tmpFileSystemPath = buildTmpFileSystemPath(); |
+ jsEngine.setDefaultFileSystem(tmpFileSystemPath.getAbsolutePath()); |
jsEngine.setWebRequest(new ThrowingWebRequest()); |
} |
+ protected void cleanupFileSystem() |
+ { |
+ if (tmpFileSystemPath != null && tmpFileSystemPath.exists()) |
+ { |
+ FileSystemUtils.delete(tmpFileSystemPath); |
+ tmpFileSystemPath = null; |
+ } |
+ } |
+ |
+ @Override |
+ protected void tearDown() throws Exception |
+ { |
+ cleanupFileSystem(); |
+ super.tearDown(); |
+ } |
+ |
protected Context getContext() |
{ |
return getInstrumentation().getTargetContext(); |