OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "base/json/json_writer.h" | 5 #include "base/json/json_writer.h" |
6 #include "base/values.h" | 6 #include "base/values.h" |
7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
8 | 8 |
9 namespace base { | 9 namespace base { |
10 | 10 |
11 TEST(JSONWriterTest, BasicTypes) { | 11 TEST(JSONWriterTest, BasicTypes) { |
12 std::string output_js; | 12 std::string output_js; |
13 | 13 |
14 // Test null. | 14 // Test null. |
15 Value* root = Value::CreateNullValue(); | 15 EXPECT_TRUE(JSONWriter::Write(Value::CreateNullValue().get(), &output_js)); |
16 EXPECT_TRUE(JSONWriter::Write(root, &output_js)); | |
17 EXPECT_EQ("null", output_js); | 16 EXPECT_EQ("null", output_js); |
18 delete root; | |
19 | 17 |
20 // Test empty dict. | 18 // Test empty dict. |
21 root = new DictionaryValue; | 19 Value* root = new DictionaryValue; |
22 EXPECT_TRUE(JSONWriter::Write(root, &output_js)); | 20 EXPECT_TRUE(JSONWriter::Write(root, &output_js)); |
23 EXPECT_EQ("{}", output_js); | 21 EXPECT_EQ("{}", output_js); |
24 delete root; | 22 delete root; |
25 | 23 |
26 // Test empty list. | 24 // Test empty list. |
27 root = new ListValue; | 25 root = new ListValue; |
28 EXPECT_TRUE(JSONWriter::Write(root, &output_js)); | 26 EXPECT_TRUE(JSONWriter::Write(root, &output_js)); |
29 EXPECT_EQ("[]", output_js); | 27 EXPECT_EQ("[]", output_js); |
30 delete root; | 28 delete root; |
31 | 29 |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 // Test allowing a double with no fractional part to be written as an integer. | 165 // Test allowing a double with no fractional part to be written as an integer. |
168 FundamentalValue double_value(1e10); | 166 FundamentalValue double_value(1e10); |
169 EXPECT_TRUE(JSONWriter::WriteWithOptions( | 167 EXPECT_TRUE(JSONWriter::WriteWithOptions( |
170 &double_value, | 168 &double_value, |
171 JSONWriter::OPTIONS_OMIT_DOUBLE_TYPE_PRESERVATION, | 169 JSONWriter::OPTIONS_OMIT_DOUBLE_TYPE_PRESERVATION, |
172 &output_js)); | 170 &output_js)); |
173 EXPECT_EQ("10000000000", output_js); | 171 EXPECT_EQ("10000000000", output_js); |
174 } | 172 } |
175 | 173 |
176 } // namespace base | 174 } // namespace base |
OLD | NEW |