| 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-2017 eyeo GmbH | 3  * Copyright (C) 2006-2017 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 | 
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 192   ASSERT_FALSE(value->IsBool()); | 192   ASSERT_FALSE(value->IsBool()); | 
| 193   ASSERT_FALSE(value->IsNumber()); | 193   ASSERT_FALSE(value->IsNumber()); | 
| 194   ASSERT_TRUE(value->IsObject()); | 194   ASSERT_TRUE(value->IsObject()); | 
| 195   ASSERT_FALSE(value->IsArray()); | 195   ASSERT_FALSE(value->IsArray()); | 
| 196   ASSERT_TRUE(value->IsFunction()); | 196   ASSERT_TRUE(value->IsFunction()); | 
| 197   ASSERT_TRUE(value->AsBool()); | 197   ASSERT_TRUE(value->AsBool()); | 
| 198   ASSERT_ANY_THROW(value->AsList()); | 198   ASSERT_ANY_THROW(value->AsList()); | 
| 199   ASSERT_EQ(2, value->GetProperty("length")->AsInt()); | 199   ASSERT_EQ(2, value->GetProperty("length")->AsInt()); | 
| 200 | 200 | 
| 201   AdblockPlus::JsValuePtr thisPtr = jsEngine->Evaluate("({x:2})"); | 201   AdblockPlus::JsValuePtr thisPtr = jsEngine->Evaluate("({x:2})"); | 
| 202   AdblockPlus::JsValueList params; | 202   AdblockPlus::JsConstValueList params; | 
| 203   params.push_back(jsEngine->NewValue(5)); | 203   params.push_back(jsEngine->NewValue(5)); | 
| 204   params.push_back(jsEngine->NewValue("xyz")); | 204   params.push_back(jsEngine->NewValue("xyz")); | 
| 205   ASSERT_EQ("2/5/xyz", value->Call(params, thisPtr)->AsString()); | 205   ASSERT_EQ("2/5/xyz", value->Call(params, thisPtr)->AsString()); | 
| 206 } | 206 } | 
| 207 | 207 | 
| 208 TEST_F(JsValueTest, JsValueCallSingleArg) | 208 TEST_F(JsValueTest, JsValueCallSingleArg) | 
| 209 { | 209 { | 
| 210   auto func = jsEngine->Evaluate("(function(arg) {return arg * 2;})"); | 210   auto func = jsEngine->Evaluate("(function(arg) {return arg * 2;})"); | 
| 211   EXPECT_EQ(10, func->Call(*jsEngine->NewValue(5))->AsInt()); | 211   EXPECT_EQ(10, func->Call(jsEngine->NewValue(5))->AsInt()); | 
| 212 } | 212 } | 
| 213 | 213 | 
| 214 TEST_F(JsValueTest, ThrowingCoversion) | 214 TEST_F(JsValueTest, ThrowingCoversion) | 
| 215 { | 215 { | 
| 216   const std::string source("\ | 216   const std::string source("\ | 
| 217     function Foo() {\ | 217     function Foo() {\ | 
| 218       this.toString = function() {throw 'test1';};\ | 218       this.toString = function() {throw 'test1';};\ | 
| 219       this.valueOf = function() {throw 'test2';};\ | 219       this.valueOf = function() {throw 'test2';};\ | 
| 220     };\ | 220     };\ | 
| 221     new Foo()"); | 221     new Foo()"); | 
| 222   AdblockPlus::JsValuePtr value = jsEngine->Evaluate(source); | 222   AdblockPlus::JsValuePtr value = jsEngine->Evaluate(source); | 
| 223   ASSERT_EQ("", value->AsString()); | 223   ASSERT_EQ("", value->AsString()); | 
| 224   ASSERT_EQ(0, value->AsInt()); | 224   ASSERT_EQ(0, value->AsInt()); | 
| 225 } | 225 } | 
| OLD | NEW | 
|---|