Index: third_party/WebKit/Source/platform/inspector_protocol/ParserTest.cpp |
diff --git a/third_party/WebKit/Source/platform/JSONParserTest.cpp b/third_party/WebKit/Source/platform/inspector_protocol/ParserTest.cpp |
similarity index 83% |
copy from third_party/WebKit/Source/platform/JSONParserTest.cpp |
copy to third_party/WebKit/Source/platform/inspector_protocol/ParserTest.cpp |
index 8e5a80c7c460c766c72e309c0c2bc2026d818a98..415b36ce683003d25448c7107797c1132bdef9c8 100644 |
--- a/third_party/WebKit/Source/platform/JSONParserTest.cpp |
+++ b/third_party/WebKit/Source/platform/inspector_protocol/ParserTest.cpp |
@@ -2,26 +2,27 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "platform/JSONParser.h" |
+#include "platform/inspector_protocol/Parser.h" |
-#include "platform/JSONValues.h" |
+#include "platform/inspector_protocol/Values.h" |
#include "testing/gtest/include/gtest/gtest.h" |
#include "wtf/text/StringBuilder.h" |
namespace blink { |
+namespace protocol { |
-TEST(JSONParserTest, Reading) |
+TEST(ParserTest, Reading) |
{ |
- RefPtr<JSONValue> tmpValue; |
- RefPtr<JSONValue> root; |
- RefPtr<JSONValue> root2; |
+ RefPtr<protocol::Value> tmpValue; |
+ RefPtr<protocol::Value> root; |
+ RefPtr<protocol::Value> root2; |
String strVal; |
int intVal = 0; |
// some whitespace checking |
root = parseJSON(" null "); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeNull, root->type()); |
+ EXPECT_EQ(Value::TypeNull, root->type()); |
// Invalid JSON string |
root = parseJSON("nu"); |
@@ -30,34 +31,34 @@ TEST(JSONParserTest, Reading) |
// Simple bool |
root = parseJSON("true "); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeBoolean, root->type()); |
+ EXPECT_EQ(Value::TypeBoolean, root->type()); |
// Embedded comment |
root = parseJSON("40 /*/"); |
EXPECT_FALSE(root.get()); |
root = parseJSON("/* comment */null"); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeNull, root->type()); |
+ EXPECT_EQ(Value::TypeNull, root->type()); |
root = parseJSON("40 /* comment */"); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeNumber, root->type()); |
+ EXPECT_EQ(Value::TypeNumber, root->type()); |
EXPECT_TRUE(root->asNumber(&intVal)); |
EXPECT_EQ(40, intVal); |
root = parseJSON("/**/ 40 /* multi-line\n comment */ // more comment"); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeNumber, root->type()); |
+ EXPECT_EQ(Value::TypeNumber, root->type()); |
EXPECT_TRUE(root->asNumber(&intVal)); |
EXPECT_EQ(40, intVal); |
root = parseJSON("true // comment"); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeBoolean, root->type()); |
+ EXPECT_EQ(Value::TypeBoolean, root->type()); |
root = parseJSON("/* comment */\"sample string\""); |
ASSERT_TRUE(root.get()); |
EXPECT_TRUE(root->asString(&strVal)); |
EXPECT_EQ("sample string", strVal); |
root = parseJSON("[1, /* comment, 2 ] */ \n 3]"); |
ASSERT_TRUE(root.get()); |
- RefPtr<JSONArray> list = JSONArray::cast(root); |
+ RefPtr<protocol::ListValue> list = ListValue::cast(root); |
ASSERT_TRUE(list); |
EXPECT_EQ(2u, list->length()); |
tmpValue = list->get(0); |
@@ -70,12 +71,12 @@ TEST(JSONParserTest, Reading) |
EXPECT_EQ(3, intVal); |
root = parseJSON("[1, /*a*/2, 3]"); |
ASSERT_TRUE(root.get()); |
- list = JSONArray::cast(root); |
+ list = ListValue::cast(root); |
ASSERT_TRUE(list); |
EXPECT_EQ(3u, list->length()); |
root = parseJSON("/* comment **/42"); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeNumber, root->type()); |
+ EXPECT_EQ(Value::TypeNumber, root->type()); |
EXPECT_TRUE(root->asNumber(&intVal)); |
EXPECT_EQ(42, intVal); |
root = parseJSON( |
@@ -83,14 +84,14 @@ TEST(JSONParserTest, Reading) |
"// */ 43\n" |
"44"); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeNumber, root->type()); |
+ EXPECT_EQ(Value::TypeNumber, root->type()); |
EXPECT_TRUE(root->asNumber(&intVal)); |
EXPECT_EQ(44, intVal); |
// Test number formats |
root = parseJSON("43"); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeNumber, root->type()); |
+ EXPECT_EQ(Value::TypeNumber, root->type()); |
EXPECT_TRUE(root->asNumber(&intVal)); |
EXPECT_EQ(43, intVal); |
@@ -106,7 +107,7 @@ TEST(JSONParserTest, Reading) |
// clause). |
root = parseJSON("0"); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeNumber, root->type()); |
+ EXPECT_EQ(Value::TypeNumber, root->type()); |
intVal = 1; |
EXPECT_TRUE(root->asNumber(&intVal)); |
EXPECT_EQ(0, intVal); |
@@ -116,13 +117,13 @@ TEST(JSONParserTest, Reading) |
root = parseJSON("2147483648"); |
ASSERT_TRUE(root.get()); |
double doubleVal; |
- EXPECT_EQ(JSONValue::TypeNumber, root->type()); |
+ EXPECT_EQ(Value::TypeNumber, root->type()); |
doubleVal = 0.0; |
EXPECT_TRUE(root->asNumber(&doubleVal)); |
EXPECT_DOUBLE_EQ(2147483648.0, doubleVal); |
root = parseJSON("-2147483649"); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeNumber, root->type()); |
+ EXPECT_EQ(Value::TypeNumber, root->type()); |
doubleVal = 0.0; |
EXPECT_TRUE(root->asNumber(&doubleVal)); |
EXPECT_DOUBLE_EQ(-2147483649.0, doubleVal); |
@@ -130,42 +131,42 @@ TEST(JSONParserTest, Reading) |
// Parse a double |
root = parseJSON("43.1"); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeNumber, root->type()); |
+ EXPECT_EQ(Value::TypeNumber, root->type()); |
doubleVal = 0.0; |
EXPECT_TRUE(root->asNumber(&doubleVal)); |
EXPECT_DOUBLE_EQ(43.1, doubleVal); |
root = parseJSON("4.3e-1"); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeNumber, root->type()); |
+ EXPECT_EQ(Value::TypeNumber, root->type()); |
doubleVal = 0.0; |
EXPECT_TRUE(root->asNumber(&doubleVal)); |
EXPECT_DOUBLE_EQ(.43, doubleVal); |
root = parseJSON("2.1e0"); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeNumber, root->type()); |
+ EXPECT_EQ(Value::TypeNumber, root->type()); |
doubleVal = 0.0; |
EXPECT_TRUE(root->asNumber(&doubleVal)); |
EXPECT_DOUBLE_EQ(2.1, doubleVal); |
root = parseJSON("2.1e+0001"); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeNumber, root->type()); |
+ EXPECT_EQ(Value::TypeNumber, root->type()); |
doubleVal = 0.0; |
EXPECT_TRUE(root->asNumber(&doubleVal)); |
EXPECT_DOUBLE_EQ(21.0, doubleVal); |
root = parseJSON("0.01"); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeNumber, root->type()); |
+ EXPECT_EQ(Value::TypeNumber, root->type()); |
doubleVal = 0.0; |
EXPECT_TRUE(root->asNumber(&doubleVal)); |
EXPECT_DOUBLE_EQ(0.01, doubleVal); |
root = parseJSON("1.00"); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeNumber, root->type()); |
+ EXPECT_EQ(Value::TypeNumber, root->type()); |
doubleVal = 0.0; |
EXPECT_TRUE(root->asNumber(&doubleVal)); |
EXPECT_DOUBLE_EQ(1.0, doubleVal); |
@@ -209,28 +210,28 @@ TEST(JSONParserTest, Reading) |
// Test string parser |
root = parseJSON("\"hello world\""); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeString, root->type()); |
+ EXPECT_EQ(Value::TypeString, root->type()); |
EXPECT_TRUE(root->asString(&strVal)); |
EXPECT_EQ("hello world", strVal); |
// Empty string |
root = parseJSON("\"\""); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeString, root->type()); |
+ EXPECT_EQ(Value::TypeString, root->type()); |
EXPECT_TRUE(root->asString(&strVal)); |
EXPECT_EQ("", strVal); |
// Test basic string escapes |
root = parseJSON("\" \\\"\\\\\\/\\b\\f\\n\\r\\t\\v\""); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeString, root->type()); |
+ EXPECT_EQ(Value::TypeString, root->type()); |
EXPECT_TRUE(root->asString(&strVal)); |
EXPECT_EQ(" \"\\/\b\f\n\r\t\v", strVal); |
// Test hex and unicode escapes including the null character. |
root = parseJSON("\"\\x41\\x00\\u1234\""); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeString, root->type()); |
+ EXPECT_EQ(Value::TypeString, root->type()); |
EXPECT_TRUE(root->asString(&strVal)); |
UChar tmp1[] = {0x41, 0, 0x1234}; |
EXPECT_EQ(String(tmp1, WTF_ARRAY_LENGTH(tmp1)), strVal); |
@@ -252,24 +253,24 @@ TEST(JSONParserTest, Reading) |
// Basic array |
root = parseJSON("[true, false, null]"); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeArray, root->type()); |
- list = JSONArray::cast(root); |
+ EXPECT_EQ(Value::TypeArray, root->type()); |
+ list = ListValue::cast(root); |
ASSERT_TRUE(list); |
EXPECT_EQ(3U, list->length()); |
// Empty array |
root = parseJSON("[]"); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeArray, root->type()); |
- list = JSONArray::cast(root); |
+ EXPECT_EQ(Value::TypeArray, root->type()); |
+ list = ListValue::cast(root); |
ASSERT_TRUE(list); |
EXPECT_EQ(0U, list->length()); |
// Nested arrays |
root = parseJSON("[[true], [], [false, [], [null]], null]"); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeArray, root->type()); |
- list = JSONArray::cast(root); |
+ EXPECT_EQ(Value::TypeArray, root->type()); |
+ list = ListValue::cast(root); |
ASSERT_TRUE(list); |
EXPECT_EQ(4U, list->length()); |
@@ -291,13 +292,13 @@ TEST(JSONParserTest, Reading) |
root = parseJSON("[true]"); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeArray, root->type()); |
- list = JSONArray::cast(root); |
+ EXPECT_EQ(Value::TypeArray, root->type()); |
+ list = ListValue::cast(root); |
ASSERT_TRUE(list); |
EXPECT_EQ(1U, list->length()); |
tmpValue = list->get(0); |
ASSERT_TRUE(tmpValue.get()); |
- EXPECT_EQ(JSONValue::TypeBoolean, tmpValue->type()); |
+ EXPECT_EQ(Value::TypeBoolean, tmpValue->type()); |
bool boolValue = false; |
EXPECT_TRUE(tmpValue->asBoolean(&boolValue)); |
EXPECT_TRUE(boolValue); |
@@ -315,19 +316,19 @@ TEST(JSONParserTest, Reading) |
// Test objects |
root = parseJSON("{}"); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeObject, root->type()); |
+ EXPECT_EQ(Value::TypeObject, root->type()); |
root = parseJSON("{\"number\":9.87654321, \"null\":null , \"\\x53\" : \"str\" }"); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeObject, root->type()); |
- RefPtr<JSONObject> objectVal = JSONObject::cast(root); |
+ EXPECT_EQ(Value::TypeObject, root->type()); |
+ RefPtr<protocol::DictionaryValue> objectVal = DictionaryValue::cast(root); |
ASSERT_TRUE(objectVal); |
doubleVal = 0.0; |
EXPECT_TRUE(objectVal->getNumber("number", &doubleVal)); |
EXPECT_DOUBLE_EQ(9.87654321, doubleVal); |
- RefPtr<JSONValue> nullVal = objectVal->get("null"); |
+ RefPtr<protocol::Value> nullVal = objectVal->get("null"); |
ASSERT_TRUE(nullVal.get()); |
- EXPECT_EQ(JSONValue::TypeNull, nullVal->type()); |
+ EXPECT_EQ(Value::TypeNull, nullVal->type()); |
EXPECT_TRUE(objectVal->getString("S", &strVal)); |
EXPECT_EQ("str", strVal); |
@@ -353,12 +354,12 @@ TEST(JSONParserTest, Reading) |
// Test nesting |
root = parseJSON("{\"inner\":{\"array\":[true]},\"false\":false,\"d\":{}}"); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeObject, root->type()); |
- objectVal = JSONObject::cast(root); |
+ EXPECT_EQ(Value::TypeObject, root->type()); |
+ objectVal = DictionaryValue::cast(root); |
ASSERT_TRUE(objectVal); |
- RefPtr<JSONObject> innerObject = objectVal->getObject("inner"); |
+ RefPtr<protocol::DictionaryValue> innerObject = objectVal->getObject("inner"); |
ASSERT_TRUE(innerObject.get()); |
- RefPtr<JSONArray> innerArray = innerObject->getArray("array"); |
+ RefPtr<protocol::ListValue> innerArray = innerObject->getArray("array"); |
ASSERT_TRUE(innerArray.get()); |
EXPECT_EQ(1U, innerArray->length()); |
boolValue = true; |
@@ -370,8 +371,8 @@ TEST(JSONParserTest, Reading) |
// Test keys with periods |
root = parseJSON("{\"a.b\":3,\"c\":2,\"d.e.f\":{\"g.h.i.j\":1}}"); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeObject, root->type()); |
- objectVal = JSONObject::cast(root); |
+ EXPECT_EQ(Value::TypeObject, root->type()); |
+ objectVal = DictionaryValue::cast(root); |
ASSERT_TRUE(objectVal); |
int integerValue = 0; |
EXPECT_TRUE(objectVal->getNumber("a.b", &integerValue)); |
@@ -386,8 +387,8 @@ TEST(JSONParserTest, Reading) |
root = parseJSON("{\"a\":{\"b\":2},\"a.b\":1}"); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeObject, root->type()); |
- objectVal = JSONObject::cast(root); |
+ EXPECT_EQ(Value::TypeObject, root->type()); |
+ objectVal = DictionaryValue::cast(root); |
ASSERT_TRUE(objectVal); |
innerObject = objectVal->getObject("a"); |
ASSERT_TRUE(innerObject.get()); |
@@ -445,23 +446,23 @@ TEST(JSONParserTest, Reading) |
notEvil.append("[]]"); |
root = parseJSON(notEvil.toString()); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeArray, root->type()); |
- list = JSONArray::cast(root); |
+ EXPECT_EQ(Value::TypeArray, root->type()); |
+ list = ListValue::cast(root); |
ASSERT_TRUE(list); |
EXPECT_EQ(5001U, list->length()); |
// Test utf8 encoded input |
root = parseJSON("\"\\xe7\\xbd\\x91\\xe9\\xa1\\xb5\""); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeString, root->type()); |
+ EXPECT_EQ(Value::TypeString, root->type()); |
EXPECT_TRUE(root->asString(&strVal)); |
UChar tmp4[] = {0x7f51, 0x9875}; |
EXPECT_EQ(String(tmp4, WTF_ARRAY_LENGTH(tmp4)), strVal); |
root = parseJSON("{\"path\": \"/tmp/\\xc3\\xa0\\xc3\\xa8\\xc3\\xb2.png\"}"); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeObject, root->type()); |
- objectVal = JSONObject::cast(root); |
+ EXPECT_EQ(Value::TypeObject, root->type()); |
+ objectVal = DictionaryValue::cast(root); |
ASSERT_TRUE(objectVal); |
EXPECT_TRUE(objectVal->getString("path", &strVal)); |
UChar tmp5[] = {0x2f, 0x74, 0x6d, 0x70, 0x2f, 0xe0, 0xe8, 0xf2, 0x2e, 0x70, 0x6e, 0x67}; |
@@ -478,14 +479,14 @@ TEST(JSONParserTest, Reading) |
// Test utf16 encoded strings. |
root = parseJSON("\"\\u20ac3,14\""); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeString, root->type()); |
+ EXPECT_EQ(Value::TypeString, root->type()); |
EXPECT_TRUE(root->asString(&strVal)); |
UChar tmp2[] = {0x20ac, 0x33, 0x2c, 0x31, 0x34}; |
EXPECT_EQ(String(tmp2, WTF_ARRAY_LENGTH(tmp2)), strVal); |
root = parseJSON("\"\\ud83d\\udca9\\ud83d\\udc6c\""); |
ASSERT_TRUE(root.get()); |
- EXPECT_EQ(JSONValue::TypeString, root->type()); |
+ EXPECT_EQ(Value::TypeString, root->type()); |
EXPECT_TRUE(root->asString(&strVal)); |
UChar tmp3[] = {0xd83d, 0xdca9, 0xd83d, 0xdc6c}; |
EXPECT_EQ(String(tmp3, WTF_ARRAY_LENGTH(tmp3)), strVal); |
@@ -508,7 +509,7 @@ TEST(JSONParserTest, Reading) |
// Test literal root objects. |
root = parseJSON("null"); |
- EXPECT_EQ(JSONValue::TypeNull, root->type()); |
+ EXPECT_EQ(Value::TypeNull, root->type()); |
root = parseJSON("true"); |
ASSERT_TRUE(root.get()); |
@@ -526,7 +527,7 @@ TEST(JSONParserTest, Reading) |
EXPECT_EQ("root", strVal); |
} |
-TEST(JSONParserTest, InvalidSanity) |
+TEST(ParserTest, InvalidSanity) |
{ |
const char* const invalidJson[] = { |
"/* test *", |
@@ -543,9 +544,10 @@ TEST(JSONParserTest, InvalidSanity) |
}; |
for (size_t i = 0; i < WTF_ARRAY_LENGTH(invalidJson); ++i) { |
- RefPtr<JSONValue> result = parseJSON(invalidJson[i]); |
+ RefPtr<protocol::Value> result = parseJSON(invalidJson[i]); |
EXPECT_FALSE(result.get()); |
} |
} |
+} // namespace protocol |
} // namespace blink |