| OLD | NEW | 
| (Empty) |  | 
 |   1 /* | 
 |   2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 
 |   3  * Copyright (C) 2006-2016 Eyeo GmbH | 
 |   4  * | 
 |   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 | 
 |   7  * published by the Free Software Foundation. | 
 |   8  * | 
 |   9  * Adblock Plus is distributed in the hope that it will be useful, | 
 |  10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
 |  11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
 |  12  * GNU General Public License for more details. | 
 |  13  * | 
 |  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/>. | 
 |  16  */ | 
 |  17  | 
 |  18 package org.adblockplus.libadblockplus.tests; | 
 |  19  | 
 |  20 import org.adblockplus.libadblockplus.AdblockPlusException; | 
 |  21  | 
 |  22 import org.junit.Test; | 
 |  23  | 
 |  24 public class GlobalJsObjectTest extends BaseJsTest | 
 |  25 { | 
 |  26   @Test | 
 |  27   public void testSetTimeout() throws InterruptedException | 
 |  28   { | 
 |  29     jsEngine.evaluate("setTimeout(function() {foo = 'bar';}, 100)"); | 
 |  30     assertTrue(jsEngine.evaluate("this.foo").isUndefined()); | 
 |  31     Thread.sleep(200); | 
 |  32     assertEquals("bar", jsEngine.evaluate("this.foo").asString()); | 
 |  33   } | 
 |  34  | 
 |  35   @Test | 
 |  36   public void testSetTimeoutWithArgs() throws InterruptedException | 
 |  37   { | 
 |  38     jsEngine.evaluate("setTimeout(function(s) {foo = s;}, 100, 'foobar')"); | 
 |  39     assertTrue(jsEngine.evaluate("this.foo").isUndefined()); | 
 |  40     Thread.sleep(200); | 
 |  41     assertEquals("foobar", jsEngine.evaluate("this.foo").asString()); | 
 |  42   } | 
 |  43  | 
 |  44   @Test | 
 |  45   public void testSetTimeoutWithInvalidArgs() | 
 |  46   { | 
 |  47     try | 
 |  48     { | 
 |  49       jsEngine.evaluate("setTimeout()"); | 
 |  50       fail(); | 
 |  51     } | 
 |  52     catch (AdblockPlusException e) | 
 |  53     { | 
 |  54       // ignored | 
 |  55     } | 
 |  56  | 
 |  57     try | 
 |  58     { | 
 |  59       jsEngine.evaluate("setTimeout('', 1)"); | 
 |  60       fail(); | 
 |  61     } | 
 |  62     catch (AdblockPlusException e) | 
 |  63     { | 
 |  64       // ignored | 
 |  65     } | 
 |  66   } | 
 |  67  | 
 |  68   @Test | 
 |  69   public void testSetMultipleTimeouts() throws InterruptedException | 
 |  70   { | 
 |  71     jsEngine.evaluate("foo = []"); | 
 |  72     jsEngine.evaluate("setTimeout(function(s) {foo.push('1');}, 100)"); | 
 |  73     jsEngine.evaluate("setTimeout(function(s) {foo.push('2');}, 150)"); | 
 |  74     Thread.sleep(200); | 
 |  75     assertEquals("1,2", jsEngine.evaluate("this.foo").asString()); | 
 |  76   } | 
 |  77 } | 
| OLD | NEW |