| 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 |