summaryrefslogtreecommitdiffstats
path: root/base/json_reader_unittest.cc
diff options
context:
space:
mode:
authortc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-08 17:26:42 +0000
committertc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-08 17:26:42 +0000
commitb509f7aff8d8fe9c69855b3127b8938d4ab22940 (patch)
tree95219104490c187022b9d9b0a55306c6f14230c5 /base/json_reader_unittest.cc
parentfb614eee660926e6d3a7c0e44424f00ccc28b4f8 (diff)
downloadchromium_src-b509f7aff8d8fe9c69855b3127b8938d4ab22940.zip
chromium_src-b509f7aff8d8fe9c69855b3127b8938d4ab22940.tar.gz
chromium_src-b509f7aff8d8fe9c69855b3127b8938d4ab22940.tar.bz2
Fix memory leak and assert that the values are correct.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@571 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/json_reader_unittest.cc')
-rw-r--r--base/json_reader_unittest.cc28
1 files changed, 27 insertions, 1 deletions
diff --git a/base/json_reader_unittest.cc b/base/json_reader_unittest.cc
index 1a81425..da902f2 100644
--- a/base/json_reader_unittest.cc
+++ b/base/json_reader_unittest.cc
@@ -30,6 +30,7 @@
#include "testing/gtest/include/gtest/gtest.h"
#include "base/json_reader.h"
#include "base/values.h"
+#include "build/build_config.h"
TEST(JSONReaderTest, Reading) {
// some whitespace checking
@@ -88,16 +89,41 @@ TEST(JSONReaderTest, Reading) {
root = NULL;
ASSERT_TRUE(JSONReader::JsonToValue("2147483648", &root, false, false));
ASSERT_TRUE(root);
+ double real_val;
+#ifdef ARCH_CPU_32_BITS
+ ASSERT_TRUE(root->IsType(Value::TYPE_REAL));
+ real_val = 0.0;
+ ASSERT_TRUE(root->GetAsReal(&real_val));
+ ASSERT_DOUBLE_EQ(2147483648.0, real_val);
+#else
+ ASSERT_TRUE(root->IsType(Value::TYPE_INTEGER));
+ int_val = 0;
+ ASSERT_TRUE(root->GetAsInteger(&int_val));
+ ASSERT_EQ(2147483648, int_val);
+#endif
+ delete root;
root = NULL;
ASSERT_TRUE(JSONReader::JsonToValue("-2147483649", &root, false, false));
ASSERT_TRUE(root);
+#ifdef ARCH_CPU_32_BITS
+ ASSERT_TRUE(root->IsType(Value::TYPE_REAL));
+ real_val = 0.0;
+ ASSERT_TRUE(root->GetAsReal(&real_val));
+ ASSERT_DOUBLE_EQ(-2147483649.0, real_val);
+#else
+ ASSERT_TRUE(root->IsType(Value::TYPE_INTEGER));
+ int_val = 0;
+ ASSERT_TRUE(root->GetAsInteger(&int_val));
+ ASSERT_EQ(-2147483649, int_val);
+#endif
+ delete root;
// Parse a double
root = NULL;
ASSERT_TRUE(JSONReader::JsonToValue("43.1", &root, false, false));
ASSERT_TRUE(root);
ASSERT_TRUE(root->IsType(Value::TYPE_REAL));
- double real_val = 0.0;
+ real_val = 0.0;
ASSERT_TRUE(root->GetAsReal(&real_val));
ASSERT_DOUBLE_EQ(43.1, real_val);
delete root;