| Index: test/JsValue.cpp | 
| =================================================================== | 
| --- a/test/JsValue.cpp | 
| +++ b/test/JsValue.cpp | 
| @@ -12,23 +12,32 @@ | 
| * GNU General Public License for more details. | 
| * | 
| * You should have received a copy of the GNU General Public License | 
| * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 
| */ | 
|  | 
| #include "BaseJsTest.h" | 
|  | 
| +#include "../src/Utils.h" | 
| + | 
| namespace | 
| { | 
| class JsValueTest : public BaseJsTest | 
| { | 
| }; | 
| } | 
|  | 
| +TEST_F(JsValueTest, Checked) | 
| +{ | 
| +  auto value = v8::MaybeLocal<bool>(); | 
| +  ASSERT_ANY_THROW(CHECKED_TO_LOCAL(GetJsEngine().GetIsolate(), | 
| +                                    std::move(value))); | 
| +} | 
| + | 
| TEST_F(JsValueTest, UndefinedValue) | 
| { | 
| auto value = GetJsEngine().Evaluate("undefined"); | 
| ASSERT_TRUE(value.IsUndefined()); | 
| ASSERT_FALSE(value.IsNull()); | 
| ASSERT_FALSE(value.IsString()); | 
| ASSERT_FALSE(value.IsBool()); | 
| ASSERT_FALSE(value.IsNumber()); | 
| @@ -156,16 +165,17 @@ | 
| ASSERT_EQ(2, value.GetProperty("x").AsInt()); | 
| value.SetProperty("x", 12); | 
| ASSERT_EQ(12, value.GetProperty("x").AsInt()); | 
| value.SetProperty("x", GetJsEngine().NewValue(15)); | 
| ASSERT_EQ(15, value.GetProperty("x").AsInt()); | 
| ASSERT_EQ("Foo", value.GetClass()); | 
| ASSERT_EQ(3u, value.GetOwnPropertyNames().size()); | 
| ASSERT_ANY_THROW(value.Call()); | 
| +  ASSERT_TRUE(value.GetProperty("bar").IsUndefined()); | 
| } | 
|  | 
| TEST_F(JsValueTest, ArrayValue) | 
| { | 
| auto value = GetJsEngine().Evaluate("[5,8,12]"); | 
| ASSERT_FALSE(value.IsUndefined()); | 
| ASSERT_FALSE(value.IsNull()); | 
| ASSERT_FALSE(value.IsString()); | 
|  |