summaryrefslogtreecommitdiffstats
path: root/vespalib/src/tests/stllike
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@yahoo-inc.com>2016-11-22 15:10:51 +0100
committerBjørn Christian Seime <bjorncs@yahoo-inc.com>2016-11-22 15:10:51 +0100
commita95e98a1f880be49f9ffcda01468b145b42e8b83 (patch)
treeda140e666ebe14f665d759ecf7a8d535805fc327 /vespalib/src/tests/stllike
parent973bcbf9177d3ad979d56fbbe0e54ab8dcc54817 (diff)
Add asciistream::StateSaver and use it in BucketSpace/BucketId
Diffstat (limited to 'vespalib/src/tests/stllike')
-rw-r--r--vespalib/src/tests/stllike/asciistream_test.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/vespalib/src/tests/stllike/asciistream_test.cpp b/vespalib/src/tests/stllike/asciistream_test.cpp
index b3a55f4d134..78c81f9d578 100644
--- a/vespalib/src/tests/stllike/asciistream_test.cpp
+++ b/vespalib/src/tests/stllike/asciistream_test.cpp
@@ -28,6 +28,7 @@ public:
void testCopyConstruct();
void testIllegalNumbers();
void testDouble();
+ void testStateSaver();
};
template <typename T>
@@ -466,6 +467,21 @@ AsciistreamTest::testDouble() {
VERIFY_DOUBLE_SERIALIZATION(maxInteger, "9007199254740992.0", automatic << forcedot, 16);
}
+void
+AsciistreamTest::testStateSaver()
+{
+ asciistream as;
+ as << vespalib::hex << vespalib::setfill('0');
+ {
+ asciistream::StateSaver stateSaver(as);
+ as << vespalib::dec << vespalib::setfill('1');
+ EXPECT_EQUAL(vespalib::dec, as.getBase());
+ EXPECT_EQUAL('1', as.getFill());
+ }
+ ASSERT_EQUAL(vespalib::hex, as.getBase());
+ ASSERT_EQUAL('0', as.getFill());
+}
+
int
AsciistreamTest::Main()
{
@@ -512,6 +528,7 @@ AsciistreamTest::Main()
testGetLine();
testIllegalNumbers();
testDouble();
+ testStateSaver();
TEST_DONE();
}