Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(201)

Side by Side Diff: base/json/json_writer_unittest.cc

Issue 8962042: Add TYPE_INTEGER64 type to base::Value. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « base/json/json_writer.cc ('k') | base/values.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/basictypes.h"
5 #include "base/json/json_writer.h" 6 #include "base/json/json_writer.h"
6 #include "base/values.h" 7 #include "base/values.h"
7 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
8 9
9 namespace base { 10 namespace base {
10 11
11 TEST(JSONWriterTest, Writing) { 12 TEST(JSONWriterTest, Writing) {
12 // Test null 13 // Test null
13 Value* root = Value::CreateNullValue(); 14 Value* root = Value::CreateNullValue();
14 std::string output_js; 15 std::string output_js;
15 JSONWriter::Write(root, false, &output_js); 16 JSONWriter::Write(root, false, &output_js);
16 ASSERT_EQ("null", output_js); 17 ASSERT_EQ("null", output_js);
17 delete root; 18 delete root;
18 19
19 // Test empty dict 20 // Test empty dict
20 root = new DictionaryValue; 21 root = new DictionaryValue;
21 JSONWriter::Write(root, false, &output_js); 22 JSONWriter::Write(root, false, &output_js);
22 ASSERT_EQ("{}", output_js); 23 ASSERT_EQ("{}", output_js);
23 delete root; 24 delete root;
24 25
25 // Test empty list 26 // Test empty list
26 root = new ListValue; 27 root = new ListValue;
27 JSONWriter::Write(root, false, &output_js); 28 JSONWriter::Write(root, false, &output_js);
28 ASSERT_EQ("[]", output_js); 29 ASSERT_EQ("[]", output_js);
29 delete root; 30 delete root;
30 31
32 // Test 64-bit integers. These should not have an 'e'.
33 root = Value::CreateInteger64Value(kint64max);
34 JSONWriter::Write(root, false, &output_js);
35 ASSERT_EQ("9223372036854775807", output_js);
36 delete root;
37
31 // Test Real values should always have a decimal or an 'e'. 38 // Test Real values should always have a decimal or an 'e'.
32 root = Value::CreateDoubleValue(1.0); 39 root = Value::CreateDoubleValue(1.0);
33 JSONWriter::Write(root, false, &output_js); 40 JSONWriter::Write(root, false, &output_js);
34 ASSERT_EQ("1.0", output_js); 41 ASSERT_EQ("1.0", output_js);
35 delete root; 42 delete root;
36 43
37 // Test Real values in the the range (-1, 1) must have leading zeros 44 // Test Real values in the the range (-1, 1) must have leading zeros
38 root = Value::CreateDoubleValue(0.2); 45 root = Value::CreateDoubleValue(0.2);
39 JSONWriter::Write(root, false, &output_js); 46 JSONWriter::Write(root, false, &output_js);
40 ASSERT_EQ("0.2", output_js); 47 ASSERT_EQ("0.2", output_js);
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 binary_dict.Set("a", Value::CreateIntegerValue(5)); 122 binary_dict.Set("a", Value::CreateIntegerValue(5));
116 binary_dict.Set("b", BinaryValue::CreateWithCopiedBuffer("asdf", 4)); 123 binary_dict.Set("b", BinaryValue::CreateWithCopiedBuffer("asdf", 4));
117 binary_dict.Set("c", Value::CreateIntegerValue(2)); 124 binary_dict.Set("c", Value::CreateIntegerValue(2));
118 JSONWriter::WriteWithOptions(&binary_dict, false, 125 JSONWriter::WriteWithOptions(&binary_dict, false,
119 JSONWriter::OPTIONS_OMIT_BINARY_VALUES, 126 JSONWriter::OPTIONS_OMIT_BINARY_VALUES,
120 &output_js); 127 &output_js);
121 ASSERT_EQ("{\"a\":5,\"c\":2}", output_js); 128 ASSERT_EQ("{\"a\":5,\"c\":2}", output_js);
122 } 129 }
123 130
124 } // namespace base 131 } // namespace base
OLDNEW
« no previous file with comments | « base/json/json_writer.cc ('k') | base/values.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698