From: Kazunori Fujiwara Date: Tue, 11 Jun 2013 00:33:46 +0000 (+0900) Subject: [2992] Added integer conversion tests (LONG_MAX, -LONG_MAX, LONG_MIN) X-Git-Tag: bind10-1.2.0beta1-release~410^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a786fa02df431025c8419ccc7d0e8f4023e6eaba;p=thirdparty%2Fkea.git [2992] Added integer conversion tests (LONG_MAX, -LONG_MAX, LONG_MIN) Added floating underflow test --- diff --git a/src/lib/cc/tests/data_unittests.cc b/src/lib/cc/tests/data_unittests.cc index 9f015d2915..61ab8fcb99 100644 --- a/src/lib/cc/tests/data_unittests.cc +++ b/src/lib/cc/tests/data_unittests.cc @@ -146,6 +146,22 @@ TEST(Element, from_and_to_json) { EXPECT_EQ("100", Element::fromJSON("1e2")->str()); EXPECT_EQ("100", Element::fromJSON("+1e2")->str()); EXPECT_EQ("-100", Element::fromJSON("-1e2")->str()); + + // LONG_MAX, -LONG_MAX, LONG_MIN test + std::ostringstream longmax, minus_longmax, longmin; + longmax << LONG_MAX; + minus_longmax << -LONG_MAX; + longmin << LONG_MIN; + EXPECT_NO_THROW( { + EXPECT_EQ(longmax.str(), Element::fromJSON(longmax.str())->str()); + }); + EXPECT_NO_THROW( { + EXPECT_EQ(minus_longmax.str(), Element::fromJSON(minus_longmax.str())->str()); + }); + EXPECT_NO_THROW( { + EXPECT_EQ(longmin.str(), Element::fromJSON(longmin.str())->str()); + }); + EXPECT_EQ("0.01", Element::fromJSON("1e-2")->str()); EXPECT_EQ("0.01", Element::fromJSON(".01")->str()); EXPECT_EQ("-0.01", Element::fromJSON("-1e-2")->str()); @@ -173,6 +189,8 @@ TEST(Element, from_and_to_json) { EXPECT_THROW(Element::fromJSON("-1.1e12345678901234567890")->str(), JSONError); EXPECT_THROW(Element::fromJSON("1e12345678901234567890")->str(), JSONError); EXPECT_THROW(Element::fromJSON("1e50000")->str(), JSONError); + // number underflow + EXPECT_THROW(Element::fromJSON("1.1e-12345678901234567890")->str(), JSONError); }