| Index: test/JsValue.cpp |
| =================================================================== |
| --- a/test/JsValue.cpp |
| +++ b/test/JsValue.cpp |
| @@ -24,16 +24,17 @@ TEST(JsValueTest, UndefinedValue) |
| ASSERT_FALSE(value->IsArray()); |
| ASSERT_FALSE(value->IsFunction()); |
| ASSERT_EQ("undefined", value->AsString()); |
| ASSERT_FALSE(value->AsBool()); |
| ASSERT_ANY_THROW(value->AsList()); |
| ASSERT_ANY_THROW(value->GetProperty("foo")); |
| ASSERT_ANY_THROW(value->SetProperty("foo", false)); |
| ASSERT_ANY_THROW(value->GetClassName()); |
| + ASSERT_ANY_THROW(value->GetOwnPropertyNames()); |
| ASSERT_ANY_THROW(value->Call()); |
| } |
| TEST(JsValueTest, NullValue) |
| { |
| ThrowingErrorCallback errorCallback; |
| AdblockPlus::JsEngine jsEngine(0, 0, &errorCallback); |
| AdblockPlus::JsValuePtr value = jsEngine.Evaluate("null"); |
| @@ -46,16 +47,17 @@ TEST(JsValueTest, NullValue) |
| ASSERT_FALSE(value->IsArray()); |
| ASSERT_FALSE(value->IsFunction()); |
| ASSERT_EQ("null", value->AsString()); |
| ASSERT_FALSE(value->AsBool()); |
| ASSERT_ANY_THROW(value->AsList()); |
| ASSERT_ANY_THROW(value->GetProperty("foo")); |
| ASSERT_ANY_THROW(value->SetProperty("foo", false)); |
| ASSERT_ANY_THROW(value->GetClassName()); |
| + ASSERT_ANY_THROW(value->GetOwnPropertyNames()); |
| ASSERT_ANY_THROW(value->Call()); |
| } |
| TEST(JsValueTest, StringValue) |
| { |
| ThrowingErrorCallback errorCallback; |
| AdblockPlus::JsEngine jsEngine(0, 0, &errorCallback); |
| AdblockPlus::JsValuePtr value = jsEngine.Evaluate("'123'"); |
| @@ -69,16 +71,17 @@ TEST(JsValueTest, StringValue) |
| ASSERT_FALSE(value->IsFunction()); |
| ASSERT_EQ("123", value->AsString()); |
| ASSERT_EQ(123, value->AsInt()); |
| ASSERT_TRUE(value->AsBool()); |
| ASSERT_ANY_THROW(value->AsList()); |
| ASSERT_ANY_THROW(value->GetProperty("foo")); |
| ASSERT_ANY_THROW(value->SetProperty("foo", false)); |
| ASSERT_ANY_THROW(value->GetClassName()); |
| + ASSERT_ANY_THROW(value->GetOwnPropertyNames()); |
| ASSERT_ANY_THROW(value->Call()); |
| } |
| TEST(JsValueTest, IntValue) |
| { |
| ThrowingErrorCallback errorCallback; |
| AdblockPlus::JsEngine jsEngine(0, 0, &errorCallback); |
| AdblockPlus::JsValuePtr value = jsEngine.Evaluate("123"); |
| @@ -92,16 +95,17 @@ TEST(JsValueTest, IntValue) |
| ASSERT_FALSE(value->IsFunction()); |
| ASSERT_EQ("123", value->AsString()); |
| ASSERT_EQ(123, value->AsInt()); |
| ASSERT_TRUE(value->AsBool()); |
| ASSERT_ANY_THROW(value->AsList()); |
| ASSERT_ANY_THROW(value->GetProperty("foo")); |
| ASSERT_ANY_THROW(value->SetProperty("foo", false)); |
| ASSERT_ANY_THROW(value->GetClassName()); |
| + ASSERT_ANY_THROW(value->GetOwnPropertyNames()); |
| ASSERT_ANY_THROW(value->Call()); |
| } |
| TEST(JsValueTest, BoolValue) |
| { |
| ThrowingErrorCallback errorCallback; |
| AdblockPlus::JsEngine jsEngine(0, 0, &errorCallback); |
| AdblockPlus::JsValuePtr value = jsEngine.Evaluate("true"); |
| @@ -114,16 +118,17 @@ TEST(JsValueTest, BoolValue) |
| ASSERT_FALSE(value->IsArray()); |
| ASSERT_FALSE(value->IsFunction()); |
| ASSERT_EQ("true", value->AsString()); |
| ASSERT_TRUE(value->AsBool()); |
| ASSERT_ANY_THROW(value->AsList()); |
| ASSERT_ANY_THROW(value->GetProperty("foo")); |
| ASSERT_ANY_THROW(value->SetProperty("foo", false)); |
| ASSERT_ANY_THROW(value->GetClassName()); |
| + ASSERT_ANY_THROW(value->GetOwnPropertyNames()); |
| ASSERT_ANY_THROW(value->Call()); |
| } |
| TEST(JsValueTest, ObjectValue) |
| { |
| ThrowingErrorCallback errorCallback; |
| AdblockPlus::JsEngine jsEngine(0, 0, &errorCallback); |
| const std::string source("\ |
| @@ -144,17 +149,20 @@ TEST(JsValueTest, ObjectValue) |
| ASSERT_FALSE(value->IsFunction()); |
| ASSERT_EQ("foo", value->AsString()); |
| ASSERT_EQ(123, value->AsInt()); |
| ASSERT_TRUE(value->AsBool()); |
| ASSERT_ANY_THROW(value->AsList()); |
| ASSERT_EQ(2, value->GetProperty("x")->AsInt()); |
| value->SetProperty("x", 12); |
| ASSERT_EQ(12, value->GetProperty("x")->AsInt()); |
| + value->SetProperty("x", jsEngine.NewValue(15)); |
| + ASSERT_EQ(15, value->GetProperty("x")->AsInt()); |
| ASSERT_EQ("Foo", value->GetClassName()); |
| + ASSERT_EQ(3u, value->GetOwnPropertyNames().size()); |
| ASSERT_ANY_THROW(value->Call()); |
| } |
| TEST(JsValueTest, ArrayValue) |
| { |
| ThrowingErrorCallback errorCallback; |
| AdblockPlus::JsEngine jsEngine(0, 0, &errorCallback); |
| AdblockPlus::JsValuePtr value = jsEngine.Evaluate("[5,8,12]"); |