diff options
author | tc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-08 17:26:42 +0000 |
---|---|---|
committer | tc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-08 17:26:42 +0000 |
commit | b509f7aff8d8fe9c69855b3127b8938d4ab22940 (patch) | |
tree | 95219104490c187022b9d9b0a55306c6f14230c5 /base/json_reader_unittest.cc | |
parent | fb614eee660926e6d3a7c0e44424f00ccc28b4f8 (diff) | |
download | chromium_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.cc | 28 |
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; |