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

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

Issue 6248026: Rename Real* to Double* in values.* and dependent files (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: More renames Created 9 years, 10 months 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
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/json_reader.h" 6 #include "base/json/json_reader.h"
7 #include "base/scoped_ptr.h" 7 #include "base/scoped_ptr.h"
8 #include "base/string_piece.h" 8 #include "base/string_piece.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "base/values.h" 10 #include "base/values.h"
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 ASSERT_TRUE(root.get()); 68 ASSERT_TRUE(root.get());
69 ASSERT_TRUE(root->IsType(Value::TYPE_INTEGER)); 69 ASSERT_TRUE(root->IsType(Value::TYPE_INTEGER));
70 int_val = 1; 70 int_val = 1;
71 ASSERT_TRUE(root->GetAsInteger(&int_val)); 71 ASSERT_TRUE(root->GetAsInteger(&int_val));
72 ASSERT_EQ(0, int_val); 72 ASSERT_EQ(0, int_val);
73 73
74 // Numbers that overflow ints should succeed, being internally promoted to 74 // Numbers that overflow ints should succeed, being internally promoted to
75 // storage as doubles 75 // storage as doubles
76 root.reset(JSONReader().JsonToValue("2147483648", false, false)); 76 root.reset(JSONReader().JsonToValue("2147483648", false, false));
77 ASSERT_TRUE(root.get()); 77 ASSERT_TRUE(root.get());
78 double real_val; 78 double double_val;
79 ASSERT_TRUE(root->IsType(Value::TYPE_REAL)); 79 ASSERT_TRUE(root->IsType(Value::TYPE_DOUBLE));
80 real_val = 0.0; 80 double_val = 0.0;
81 ASSERT_TRUE(root->GetAsReal(&real_val)); 81 ASSERT_TRUE(root->GetAsDouble(&double_val));
82 ASSERT_DOUBLE_EQ(2147483648.0, real_val); 82 ASSERT_DOUBLE_EQ(2147483648.0, double_val);
83 root.reset(JSONReader().JsonToValue("-2147483649", false, false)); 83 root.reset(JSONReader().JsonToValue("-2147483649", false, false));
84 ASSERT_TRUE(root.get()); 84 ASSERT_TRUE(root.get());
85 ASSERT_TRUE(root->IsType(Value::TYPE_REAL)); 85 ASSERT_TRUE(root->IsType(Value::TYPE_DOUBLE));
86 real_val = 0.0; 86 double_val = 0.0;
87 ASSERT_TRUE(root->GetAsReal(&real_val)); 87 ASSERT_TRUE(root->GetAsDouble(&double_val));
88 ASSERT_DOUBLE_EQ(-2147483649.0, real_val); 88 ASSERT_DOUBLE_EQ(-2147483649.0, double_val);
89 89
90 // Parse a double 90 // Parse a double
91 root.reset(JSONReader().JsonToValue("43.1", false, false)); 91 root.reset(JSONReader().JsonToValue("43.1", false, false));
92 ASSERT_TRUE(root.get()); 92 ASSERT_TRUE(root.get());
93 ASSERT_TRUE(root->IsType(Value::TYPE_REAL)); 93 ASSERT_TRUE(root->IsType(Value::TYPE_DOUBLE));
94 real_val = 0.0; 94 double_val = 0.0;
95 ASSERT_TRUE(root->GetAsReal(&real_val)); 95 ASSERT_TRUE(root->GetAsDouble(&double_val));
96 ASSERT_DOUBLE_EQ(43.1, real_val); 96 ASSERT_DOUBLE_EQ(43.1, double_val);
97 97
98 root.reset(JSONReader().JsonToValue("4.3e-1", false, false)); 98 root.reset(JSONReader().JsonToValue("4.3e-1", false, false));
99 ASSERT_TRUE(root.get()); 99 ASSERT_TRUE(root.get());
100 ASSERT_TRUE(root->IsType(Value::TYPE_REAL)); 100 ASSERT_TRUE(root->IsType(Value::TYPE_DOUBLE));
101 real_val = 0.0; 101 double_val = 0.0;
102 ASSERT_TRUE(root->GetAsReal(&real_val)); 102 ASSERT_TRUE(root->GetAsDouble(&double_val));
103 ASSERT_DOUBLE_EQ(.43, real_val); 103 ASSERT_DOUBLE_EQ(.43, double_val);
104 104
105 root.reset(JSONReader().JsonToValue("2.1e0", false, false)); 105 root.reset(JSONReader().JsonToValue("2.1e0", false, false));
106 ASSERT_TRUE(root.get()); 106 ASSERT_TRUE(root.get());
107 ASSERT_TRUE(root->IsType(Value::TYPE_REAL)); 107 ASSERT_TRUE(root->IsType(Value::TYPE_DOUBLE));
108 real_val = 0.0; 108 double_val = 0.0;
109 ASSERT_TRUE(root->GetAsReal(&real_val)); 109 ASSERT_TRUE(root->GetAsDouble(&double_val));
110 ASSERT_DOUBLE_EQ(2.1, real_val); 110 ASSERT_DOUBLE_EQ(2.1, double_val);
111 111
112 root.reset(JSONReader().JsonToValue("2.1e+0001", false, false)); 112 root.reset(JSONReader().JsonToValue("2.1e+0001", false, false));
113 ASSERT_TRUE(root.get()); 113 ASSERT_TRUE(root.get());
114 ASSERT_TRUE(root->IsType(Value::TYPE_REAL)); 114 ASSERT_TRUE(root->IsType(Value::TYPE_DOUBLE));
115 real_val = 0.0; 115 double_val = 0.0;
116 ASSERT_TRUE(root->GetAsReal(&real_val)); 116 ASSERT_TRUE(root->GetAsDouble(&double_val));
117 ASSERT_DOUBLE_EQ(21.0, real_val); 117 ASSERT_DOUBLE_EQ(21.0, double_val);
118 118
119 root.reset(JSONReader().JsonToValue("0.01", false, false)); 119 root.reset(JSONReader().JsonToValue("0.01", false, false));
120 ASSERT_TRUE(root.get()); 120 ASSERT_TRUE(root.get());
121 ASSERT_TRUE(root->IsType(Value::TYPE_REAL)); 121 ASSERT_TRUE(root->IsType(Value::TYPE_DOUBLE));
122 real_val = 0.0; 122 double_val = 0.0;
123 ASSERT_TRUE(root->GetAsReal(&real_val)); 123 ASSERT_TRUE(root->GetAsDouble(&double_val));
124 ASSERT_DOUBLE_EQ(0.01, real_val); 124 ASSERT_DOUBLE_EQ(0.01, double_val);
125 125
126 root.reset(JSONReader().JsonToValue("1.00", false, false)); 126 root.reset(JSONReader().JsonToValue("1.00", false, false));
127 ASSERT_TRUE(root.get()); 127 ASSERT_TRUE(root.get());
128 ASSERT_TRUE(root->IsType(Value::TYPE_REAL)); 128 ASSERT_TRUE(root->IsType(Value::TYPE_DOUBLE));
129 real_val = 0.0; 129 double_val = 0.0;
130 ASSERT_TRUE(root->GetAsReal(&real_val)); 130 ASSERT_TRUE(root->GetAsDouble(&double_val));
131 ASSERT_DOUBLE_EQ(1.0, real_val); 131 ASSERT_DOUBLE_EQ(1.0, double_val);
132 132
133 // Fractional parts must have a digit before and after the decimal point. 133 // Fractional parts must have a digit before and after the decimal point.
134 root.reset(JSONReader().JsonToValue("1.", false, false)); 134 root.reset(JSONReader().JsonToValue("1.", false, false));
135 ASSERT_FALSE(root.get()); 135 ASSERT_FALSE(root.get());
136 root.reset(JSONReader().JsonToValue(".1", false, false)); 136 root.reset(JSONReader().JsonToValue(".1", false, false));
137 ASSERT_FALSE(root.get()); 137 ASSERT_FALSE(root.get());
138 root.reset(JSONReader().JsonToValue("1.e10", false, false)); 138 root.reset(JSONReader().JsonToValue("1.e10", false, false));
139 ASSERT_FALSE(root.get()); 139 ASSERT_FALSE(root.get());
140 140
141 // Exponent must have a digit following the 'e'. 141 // Exponent must have a digit following the 'e'.
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 // Test objects 296 // Test objects
297 root.reset(JSONReader::Read("{}", false)); 297 root.reset(JSONReader::Read("{}", false));
298 ASSERT_TRUE(root.get()); 298 ASSERT_TRUE(root.get());
299 ASSERT_TRUE(root->IsType(Value::TYPE_DICTIONARY)); 299 ASSERT_TRUE(root->IsType(Value::TYPE_DICTIONARY));
300 300
301 root.reset(JSONReader::Read( 301 root.reset(JSONReader::Read(
302 "{\"number\":9.87654321, \"null\":null , \"\\x53\" : \"str\" }", false)); 302 "{\"number\":9.87654321, \"null\":null , \"\\x53\" : \"str\" }", false));
303 ASSERT_TRUE(root.get()); 303 ASSERT_TRUE(root.get());
304 ASSERT_TRUE(root->IsType(Value::TYPE_DICTIONARY)); 304 ASSERT_TRUE(root->IsType(Value::TYPE_DICTIONARY));
305 DictionaryValue* dict_val = static_cast<DictionaryValue*>(root.get()); 305 DictionaryValue* dict_val = static_cast<DictionaryValue*>(root.get());
306 real_val = 0.0; 306 double_val = 0.0;
307 ASSERT_TRUE(dict_val->GetReal("number", &real_val)); 307 ASSERT_TRUE(dict_val->GetDouble("number", &double_val));
308 ASSERT_DOUBLE_EQ(9.87654321, real_val); 308 ASSERT_DOUBLE_EQ(9.87654321, double_val);
309 Value* null_val = NULL; 309 Value* null_val = NULL;
310 ASSERT_TRUE(dict_val->Get("null", &null_val)); 310 ASSERT_TRUE(dict_val->Get("null", &null_val));
311 ASSERT_TRUE(null_val->IsType(Value::TYPE_NULL)); 311 ASSERT_TRUE(null_val->IsType(Value::TYPE_NULL));
312 str_val.clear(); 312 str_val.clear();
313 ASSERT_TRUE(dict_val->GetString("S", &str_val)); 313 ASSERT_TRUE(dict_val->GetString("S", &str_val));
314 ASSERT_EQ("str", str_val); 314 ASSERT_EQ("str", str_val);
315 315
316 root2.reset(JSONReader::Read( 316 root2.reset(JSONReader::Read(
317 "{\"number\":9.87654321, \"null\":null , \"\\x53\" : \"str\", }", true)); 317 "{\"number\":9.87654321, \"null\":null , \"\\x53\" : \"str\", }", true));
318 ASSERT_TRUE(root2.get()); 318 ASSERT_TRUE(root2.get());
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
557 557
558 root.reset(JSONReader::ReadAndReturnError("[\"xxx\\q\"]", false, 558 root.reset(JSONReader::ReadAndReturnError("[\"xxx\\q\"]", false,
559 &error_code, &error_message)); 559 &error_code, &error_message));
560 EXPECT_FALSE(root.get()); 560 EXPECT_FALSE(root.get());
561 EXPECT_EQ(JSONReader::FormatErrorMessage(1, 7, JSONReader::kInvalidEscape), 561 EXPECT_EQ(JSONReader::FormatErrorMessage(1, 7, JSONReader::kInvalidEscape),
562 error_message); 562 error_message);
563 EXPECT_EQ(JSONReader::JSON_INVALID_ESCAPE, error_code); 563 EXPECT_EQ(JSONReader::JSON_INVALID_ESCAPE, error_code);
564 } 564 }
565 565
566 } // namespace base 566 } // namespace base
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698