| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 
| 3  * Copyright (C) 2006-2016 Eyeo GmbH | 3  * Copyright (C) 2006-2016 Eyeo GmbH | 
| 4  * | 4  * | 
| 5  * Adblock Plus is free software: you can redistribute it and/or modify | 5  * Adblock Plus is free software: you can redistribute it and/or modify | 
| 6  * it under the terms of the GNU General Public License version 3 as | 6  * it under the terms of the GNU General Public License version 3 as | 
| 7  * published by the Free Software Foundation. | 7  * published by the Free Software Foundation. | 
| 8  * | 8  * | 
| 9  * Adblock Plus is distributed in the hope that it will be useful, | 9  * Adblock Plus is distributed in the hope that it will be useful, | 
| 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
| 12  * GNU General Public License for more details. | 12  * GNU General Public License for more details. | 
| 13  * | 13  * | 
| 14  * You should have received a copy of the GNU General Public License | 14  * You should have received a copy of the GNU General Public License | 
| 15  * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 15  * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 
| 16  */ | 16  */ | 
| 17 | 17 | 
| 18 package org.adblockplus.libadblockplus.tests; | 18 package org.adblockplus.libadblockplus.tests; | 
| 19 | 19 | 
| 20 import org.adblockplus.libadblockplus.AppInfo; | 20 import org.adblockplus.libadblockplus.AppInfo; | 
|  | 21 import org.adblockplus.libadblockplus.FileSystemUtils; | 
| 21 import org.adblockplus.libadblockplus.JsEngine; | 22 import org.adblockplus.libadblockplus.JsEngine; | 
| 22 import org.adblockplus.libadblockplus.LazyLogSystem; |  | 
| 23 import org.adblockplus.libadblockplus.ThrowingWebRequest; | 23 import org.adblockplus.libadblockplus.ThrowingWebRequest; | 
| 24 | 24 | 
| 25 import android.test.AndroidTestCase; | 25 import android.test.AndroidTestCase; | 
| 26 | 26 | 
|  | 27 import java.io.File; | 
|  | 28 import java.io.IOException; | 
|  | 29 | 
| 27 public abstract class BaseJsTest extends AndroidTestCase | 30 public abstract class BaseJsTest extends AndroidTestCase | 
| 28 { | 31 { | 
| 29     protected JsEngine jsEngine; | 32   protected JsEngine jsEngine; | 
|  | 33   protected File tmpFileSystemPath; | 
|  | 34   protected FileSystemUtils fileSystemUtils = new FileSystemUtils(); | 
| 30 | 35 | 
| 31     @Override | 36   protected File buildTmpFileSystemPath() throws IOException | 
| 32     protected void setUp() throws Exception | 37   { | 
|  | 38     File tmpFileSystemPath = fileSystemUtils | 
|  | 39       .generateUniqueFileName(null, ".fs", getContext().getCacheDir()); | 
|  | 40     tmpFileSystemPath.mkdirs(); | 
|  | 41     return tmpFileSystemPath; | 
|  | 42   } | 
|  | 43 | 
|  | 44   @Override | 
|  | 45   protected void setUp() throws Exception | 
|  | 46   { | 
|  | 47     super.setUp(); | 
|  | 48 | 
|  | 49     jsEngine = new JsEngine(AppInfo.builder().build()); | 
|  | 50     jsEngine.setDefaultLogSystem(); | 
|  | 51 | 
|  | 52     // we need to generate new file system path in order | 
|  | 53     // not to have JsEngine state from the previous test | 
|  | 54     tmpFileSystemPath = buildTmpFileSystemPath(); | 
|  | 55     jsEngine.setDefaultFileSystem(tmpFileSystemPath.getAbsolutePath()); | 
|  | 56     jsEngine.setWebRequest(new ThrowingWebRequest()); | 
|  | 57   } | 
|  | 58 | 
|  | 59   protected void cleanupFileSystem() | 
|  | 60   { | 
|  | 61     if (tmpFileSystemPath != null && tmpFileSystemPath.exists()) | 
| 33     { | 62     { | 
| 34         super.setUp(); | 63       fileSystemUtils.delete(tmpFileSystemPath, true); | 
|  | 64       tmpFileSystemPath = null; | 
|  | 65     } | 
|  | 66   } | 
| 35 | 67 | 
| 36         jsEngine = new JsEngine(AppInfo.builder().build()); | 68   @Override | 
| 37         jsEngine.setDefaultLogSystem(); | 69   protected void tearDown() throws Exception | 
| 38         jsEngine.setDefaultFileSystem(getContext().getFilesDir().getAbsolutePath
    ()); | 70   { | 
| 39         jsEngine.setWebRequest(new ThrowingWebRequest()); | 71     cleanupFileSystem(); | 
| 40     } | 72     super.tearDown(); | 
|  | 73   } | 
| 41 } | 74 } | 
| OLD | NEW | 
|---|