summaryrefslogtreecommitdiffstats
path: root/vespalib/src/tests/stllike/asciistream_test.cpp
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-06-20 14:14:59 +0200
committerGitHub <noreply@github.com>2019-06-20 14:14:59 +0200
commit801be7ad30e5e59879d4451efcb069954502ef16 (patch)
tree2244cdad6c77b9fc3b9f3fc2077879abe724d9f1 /vespalib/src/tests/stllike/asciistream_test.cpp
parentd5f07fd73977a9f9c5dbc396da15d0af18d49f22 (diff)
parentd9ff0d760dc19fa56c6a8cf59d6b5d5aac01d711 (diff)
Merge pull request #9814 from vespa-engine/balder/use-from_chars-in-stream
Use std::from_chars in stream.
Diffstat (limited to 'vespalib/src/tests/stllike/asciistream_test.cpp')
-rw-r--r--vespalib/src/tests/stllike/asciistream_test.cpp35
1 files changed, 23 insertions, 12 deletions
diff --git a/vespalib/src/tests/stllike/asciistream_test.cpp b/vespalib/src/tests/stllike/asciistream_test.cpp
index b1ba70e6ae2..fd362d9c49a 100644
--- a/vespalib/src/tests/stllike/asciistream_test.cpp
+++ b/vespalib/src/tests/stllike/asciistream_test.cpp
@@ -40,10 +40,21 @@ AsciistreamTest::verifyBothWays(T value, const char * expected)
os << value;
EXPECT_EQUAL(os.str(), string(expected));
EXPECT_EQUAL(os.size(), strlen(expected));
- T v;
- os >> v;
- EXPECT_EQUAL(value, v);
- EXPECT_TRUE(os.empty());
+ {
+ T v;
+ os >> v;
+ EXPECT_EQUAL(value, v);
+ EXPECT_TRUE(os.empty());
+ }
+
+ {
+ os << " " << expected;
+ T v;
+ os >> v;
+ EXPECT_EQUAL(value, v);
+ EXPECT_TRUE(os.empty());
+ EXPECT_EQUAL(0u, os.size());
+ }
}
template <typename T>
@@ -72,16 +83,16 @@ AsciistreamTest::testIllegalNumbers()
{
asciistream is("777777777777");
uint16_t s(0);
- EXPECT_EXCEPTION(is >> s, IllegalArgumentException, "An unsigned short can not represent '777777777777'");
+ EXPECT_EXCEPTION(is >> s, IllegalArgumentException, "strToInt value '777777777777' is outside of range");
EXPECT_EQUAL(12u, is.size());
uint32_t i(0);
- EXPECT_EXCEPTION(is >> i, IllegalArgumentException, "An unsigned int can not represent '777777777777'");
+ EXPECT_EXCEPTION(is >> i, IllegalArgumentException, "strToInt value '777777777777' is outside of range");
EXPECT_EQUAL(12u, is.size());
int16_t si(0);
- EXPECT_EXCEPTION(is >> si, IllegalArgumentException, "A short can not represent '777777777777'");
+ EXPECT_EXCEPTION(is >> si, IllegalArgumentException, "strToInt value '777777777777' is outside of range");
EXPECT_EQUAL(12u, is.size());
int32_t ii(0);
- EXPECT_EXCEPTION(is >> ii, IllegalArgumentException, "An int can not represent '777777777777'");
+ EXPECT_EXCEPTION(is >> ii, IllegalArgumentException, "strToInt value '777777777777' is outside of range");
EXPECT_EQUAL(12u, is.size());
is << "777777777777";
EXPECT_EQUAL(24u, is.size());
@@ -95,10 +106,10 @@ AsciistreamTest::testIllegalNumbers()
{
asciistream is("-77");
uint16_t s(0);
- EXPECT_EXCEPTION(is >> s, IllegalArgumentException, "An unsigned short can not represent '-77'");
+ EXPECT_EXCEPTION(is >> s, IllegalArgumentException, "Illegal strToInt value '-77'");
EXPECT_EQUAL(3u, is.size());
uint32_t i(0);
- EXPECT_EXCEPTION(is >> i, IllegalArgumentException, "An unsigned int can not represent '-77'");
+ EXPECT_EXCEPTION(is >> i, IllegalArgumentException, "Illegal strToInt value '-77'");
EXPECT_EQUAL(3u, is.size());
}
{
@@ -131,12 +142,12 @@ AsciistreamTest::testIllegalNumbers()
EXPECT_TRUE(is.empty());
{
uint32_t l(0);
- EXPECT_EXCEPTION(is >> l, IllegalArgumentException, "Failed decoding a unsigned long long from ''.");
+ EXPECT_EXCEPTION(is >> l, IllegalArgumentException, "buffer underflow at pos 0.");
EXPECT_TRUE(is.empty());
}
{
int32_t l(0);
- EXPECT_EXCEPTION(is >> l, IllegalArgumentException, "Failed decoding a long long from ''.");
+ EXPECT_EXCEPTION(is >> l, IllegalArgumentException, "buffer underflow at pos 0");
EXPECT_TRUE(is.empty());
}
{