| 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.android.AndroidWebRequest; |   20 import org.adblockplus.android.AndroidWebRequest; | 
 |   21 import org.adblockplus.libadblockplus.FilterEngine; | 
|   21 import org.adblockplus.libadblockplus.JsValue; |   22 import org.adblockplus.libadblockplus.JsValue; | 
|   22 import org.adblockplus.libadblockplus.ServerResponse; |   23 import org.adblockplus.libadblockplus.ServerResponse; | 
|   23  |   24  | 
|   24 import org.junit.Test; |   25 import org.junit.Test; | 
|   25  |   26  | 
 |   27 import java.net.MalformedURLException; | 
 |   28 import java.net.URL; | 
 |   29 import java.util.List; | 
 |   30  | 
|   26 public class AndroidWebRequestTest extends BaseJsTest |   31 public class AndroidWebRequestTest extends BaseJsTest | 
|   27 { |   32 { | 
|   28     @Override |   33     @Override | 
|   29     protected void setUp() throws Exception |   34     protected void setUp() throws Exception | 
|   30     { |   35     { | 
|   31         super.setUp(); |   36         super.setUp(); | 
|   32  |   37  | 
|   33         jsEngine.setWebRequest(new AndroidWebRequest()); |   38         jsEngine.setWebRequest(new AndroidWebRequest(true)); | 
|   34     } |   39     } | 
|   35  |   40  | 
|   36     @Test |   41     @Test | 
|   37     public void testRealWebRequest() |   42     public void testRealWebRequest() | 
|   38     { |   43     { | 
|   39         // This URL should redirect to easylist-downloads.adblockplus.org and we |   44         // This URL should redirect to easylist-downloads.adblockplus.org and we | 
|   40         // should get the actual filter list back. |   45         // should get the actual filter list back. | 
|   41         jsEngine.evaluate( |   46         jsEngine.evaluate( | 
|   42             "_webRequest.GET('https://easylist-downloads.adblockplus.org/easylis
     t.txt', {}, " + |   47             "_webRequest.GET('https://easylist-downloads.adblockplus.org/easylis
     t.txt', {}, " + | 
|   43                 "function(result) {foo = result;} )"); |   48             "function(result) {foo = result;} )"); | 
|   44         do |   49         do | 
|   45         { |   50         { | 
|   46             try |   51             try | 
|   47             { |   52             { | 
|   48                 Thread.sleep(200); |   53                 Thread.sleep(200); | 
|   49             } catch (InterruptedException e) |   54             } catch (InterruptedException e) | 
|   50             { |   55             { | 
|   51                 throw new RuntimeException(e); |   56                 throw new RuntimeException(e); | 
|   52             } |   57             } | 
|   53         } while (jsEngine.evaluate("this.foo").isUndefined()); |   58         } while (jsEngine.evaluate("this.foo").isUndefined()); | 
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  101             ServerResponse.NsStatus.OK.getStatusCode(), |  106             ServerResponse.NsStatus.OK.getStatusCode(), | 
|  102             jsEngine.evaluate("request.channel.status").asLong()); |  107             jsEngine.evaluate("request.channel.status").asLong()); | 
|  103  |  108  | 
|  104         assertEquals(200l, jsEngine.evaluate("request.status").asLong()); |  109         assertEquals(200l, jsEngine.evaluate("request.status").asLong()); | 
|  105         assertEquals("[Adblock Plus ", jsEngine.evaluate("result.substr(0, 14)")
     .asString()); |  110         assertEquals("[Adblock Plus ", jsEngine.evaluate("result.substr(0, 14)")
     .asString()); | 
|  106         assertEquals( |  111         assertEquals( | 
|  107             "text/plain", |  112             "text/plain", | 
|  108             jsEngine.evaluate("request.getResponseHeader('Content-Type').substr(
     0,10)").asString()); |  113             jsEngine.evaluate("request.getResponseHeader('Content-Type').substr(
     0,10)").asString()); | 
|  109         assertTrue(jsEngine.evaluate("request.getResponseHeader('Location')").is
     Null()); |  114         assertTrue(jsEngine.evaluate("request.getResponseHeader('Location')").is
     Null()); | 
|  110     } |  115     } | 
 |  116  | 
 |  117     @Test | 
 |  118     public void testGetElemhideElements() throws MalformedURLException, Interrup
     tedException { | 
 |  119         FilterEngine filterEngine = new FilterEngine(jsEngine); | 
 |  120  | 
 |  121         Thread.sleep(20 * 1000); // wait for the subscription to be downloaded | 
 |  122  | 
 |  123         final String url = "www.mobile01.com/somepage.html"; | 
 |  124  | 
 |  125         boolean isDocumentWhitelisted = filterEngine.isDocumentWhitelisted(url, 
     null); | 
 |  126         assertFalse(isDocumentWhitelisted); | 
 |  127  | 
 |  128         boolean isElemhideWhitelisted = filterEngine.isElemhideWhitelisted(url, 
     null); | 
 |  129         assertFalse(isElemhideWhitelisted); | 
 |  130  | 
 |  131         List<String> selectors = filterEngine.getElementHidingSelectors(url); | 
 |  132         assertNotNull(selectors); | 
 |  133         assertTrue(selectors.size() > 0); | 
 |  134     } | 
|  111 } |  135 } | 
| OLD | NEW |