Index: libadblockplus-android-tests/src/org/adblockplus/libadblockplus/tests/BaseJsTest.java |
=================================================================== |
--- a/libadblockplus-android-tests/src/org/adblockplus/libadblockplus/tests/BaseJsTest.java |
+++ b/libadblockplus-android-tests/src/org/adblockplus/libadblockplus/tests/BaseJsTest.java |
@@ -13,29 +13,62 @@ |
* |
* You should have received a copy of the GNU General Public License |
* along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. |
*/ |
package org.adblockplus.libadblockplus.tests; |
import org.adblockplus.libadblockplus.AppInfo; |
+import org.adblockplus.libadblockplus.FileSystemHelper; |
import org.adblockplus.libadblockplus.JsEngine; |
-import org.adblockplus.libadblockplus.LazyLogSystem; |
import org.adblockplus.libadblockplus.ThrowingWebRequest; |
import android.test.AndroidTestCase; |
+import java.io.File; |
+import java.io.IOException; |
+ |
public abstract class BaseJsTest extends AndroidTestCase |
{ |
protected JsEngine jsEngine; |
+ protected File tmpFileSystemPath; |
+ protected FileSystemHelper fileSystemHelper = new FileSystemHelper(); |
+ |
+ protected File buildTmpFileSystemPath() throws IOException |
+ { |
+ File tmpFileSystemPath = fileSystemHelper |
+ .generateUniqueFileName(null, ".fs", getContext().getCacheDir()); |
+ tmpFileSystemPath.mkdirs(); |
+ return tmpFileSystemPath; |
+ } |
@Override |
protected void setUp() throws Exception |
{ |
super.setUp(); |
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()) |
+ { |
+ fileSystemHelper.delete(tmpFileSystemPath, true); |
+ tmpFileSystemPath = null; |
+ } |
+ } |
+ |
+ @Override |
+ protected void tearDown() throws Exception |
+ { |
+ cleanupFileSystem(); |
+ super.tearDown(); |
+ } |
} |