OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "testing/gtest/include/gtest/gtest.h" | 5 #include "testing/gtest/include/gtest/gtest.h" |
6 #include "base/json_writer.h" | 6 #include "base/json_writer.h" |
| 7 #include "base/string_util.h" |
7 #include "base/values.h" | 8 #include "base/values.h" |
8 | 9 |
9 TEST(JSONWriterTest, Writing) { | 10 TEST(JSONWriterTest, Writing) { |
10 // Test null | 11 // Test null |
11 Value* root = Value::CreateNullValue(); | 12 Value* root = Value::CreateNullValue(); |
12 std::string output_js; | 13 std::string output_js; |
13 JSONWriter::Write(root, false, &output_js); | 14 JSONWriter::Write(root, false, &output_js); |
14 ASSERT_EQ("null", output_js); | 15 ASSERT_EQ("null", output_js); |
15 delete root; | 16 delete root; |
16 | 17 |
(...skipping 12 matching lines...) Expand all Loading... |
29 // Test Real values should always have a decimal or an 'e'. | 30 // Test Real values should always have a decimal or an 'e'. |
30 root = Value::CreateRealValue(1.0); | 31 root = Value::CreateRealValue(1.0); |
31 JSONWriter::Write(root, false, &output_js); | 32 JSONWriter::Write(root, false, &output_js); |
32 ASSERT_EQ("1.0", output_js); | 33 ASSERT_EQ("1.0", output_js); |
33 delete root; | 34 delete root; |
34 | 35 |
35 // Writer unittests like empty list/dict nesting, | 36 // Writer unittests like empty list/dict nesting, |
36 // list list nesting, etc. | 37 // list list nesting, etc. |
37 DictionaryValue root_dict; | 38 DictionaryValue root_dict; |
38 ListValue* list = new ListValue; | 39 ListValue* list = new ListValue; |
39 root_dict.Set(L"list", list); | 40 root_dict.Set(ASCIIToUTF16("list"), list); |
40 DictionaryValue* inner_dict = new DictionaryValue; | 41 DictionaryValue* inner_dict = new DictionaryValue; |
41 list->Append(inner_dict); | 42 list->Append(inner_dict); |
42 inner_dict->SetInteger(L"inner int", 10); | 43 inner_dict->SetInteger(ASCIIToUTF16("inner int"), 10); |
43 ListValue* inner_list = new ListValue; | 44 ListValue* inner_list = new ListValue; |
44 list->Append(inner_list); | 45 list->Append(inner_list); |
45 list->Append(Value::CreateBooleanValue(true)); | 46 list->Append(Value::CreateBooleanValue(true)); |
46 | 47 |
47 JSONWriter::Write(&root_dict, false, &output_js); | 48 JSONWriter::Write(&root_dict, false, &output_js); |
48 ASSERT_EQ("{\"list\":[{\"inner int\":10},[],true]}", output_js); | 49 ASSERT_EQ("{\"list\":[{\"inner int\":10},[],true]}", output_js); |
49 JSONWriter::Write(&root_dict, true, &output_js); | 50 JSONWriter::Write(&root_dict, true, &output_js); |
50 ASSERT_EQ("{\r\n" | 51 ASSERT_EQ("{\r\n" |
51 " \"list\": [ {\r\n" | 52 " \"list\": [ {\r\n" |
52 " \"inner int\": 10\r\n" | 53 " \"inner int\": 10\r\n" |
53 " }, [ ], true ]\r\n" | 54 " }, [ ], true ]\r\n" |
54 "}\r\n", | 55 "}\r\n", |
55 output_js); | 56 output_js); |
56 } | 57 } |
57 | |
58 | |
OLD | NEW |