summaryrefslogtreecommitdiffstats
path: root/libcxx/test/input.output/string.streams/istringstream/istringstream.assign/move.pass.cpp
diff options
context:
space:
mode:
authorMarshall Clow <mclow.lists@gmail.com>2014-09-16 18:57:52 +0000
committerMarshall Clow <mclow.lists@gmail.com>2014-09-16 18:57:52 +0000
commitd1b5078579c5123746feaa2dabcd285aed3b27ab (patch)
tree5d3ecb52528125cd7009aeb8d8b1584d0bc33f71 /libcxx/test/input.output/string.streams/istringstream/istringstream.assign/move.pass.cpp
parent98c9accacec15eeb284f1ae62cbb81e1f3a411ac (diff)
downloadbcm5719-llvm-d1b5078579c5123746feaa2dabcd285aed3b27ab.tar.gz
bcm5719-llvm-d1b5078579c5123746feaa2dabcd285aed3b27ab.zip
Fix a bug in the move-assigment operator for basic_stringbuf. Thanks to Johnathan Wakeley for the bug report
llvm-svn: 217894
Diffstat (limited to 'libcxx/test/input.output/string.streams/istringstream/istringstream.assign/move.pass.cpp')
-rw-r--r--libcxx/test/input.output/string.streams/istringstream/istringstream.assign/move.pass.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/libcxx/test/input.output/string.streams/istringstream/istringstream.assign/move.pass.cpp b/libcxx/test/input.output/string.streams/istringstream/istringstream.assign/move.pass.cpp
index 6e20640c977..a3e869de2d9 100644
--- a/libcxx/test/input.output/string.streams/istringstream/istringstream.assign/move.pass.cpp
+++ b/libcxx/test/input.output/string.streams/istringstream/istringstream.assign/move.pass.cpp
@@ -33,6 +33,24 @@ int main()
ss >> i;
assert(i == 456);
}
+ {
+ std::istringstream s1("Aaaaa Bbbbb Cccccccccc Dddddddddddddddddd");
+ std::string s;
+ s1 >> s;
+
+ std::istringstream s2 = std::move(s1);
+ s2 >> s;
+ assert(s == "Bbbbb");
+
+ std::istringstream s3;
+ s3 = std::move(s2);
+ s3 >> s;
+ assert(s == "Cccccccccc");
+
+ s1 = std::move(s3);
+ s1 >> s;
+ assert(s == "Dddddddddddddddddd");
+ }
{
std::wistringstream ss0(L" 123 456");
std::wistringstream ss;
@@ -46,5 +64,23 @@ int main()
ss >> i;
assert(i == 456);
}
+ {
+ std::wistringstream s1(L"Aaaaa Bbbbb Cccccccccc Dddddddddddddddddd");
+ std::wstring s;
+ s1 >> s;
+
+ std::wistringstream s2 = std::move(s1);
+ s2 >> s;
+ assert(s == L"Bbbbb");
+
+ std::wistringstream s3;
+ s3 = std::move(s2);
+ s3 >> s;
+ assert(s == L"Cccccccccc");
+
+ s1 = std::move(s3);
+ s1 >> s;
+ assert(s == L"Dddddddddddddddddd");
+ }
#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
}
OpenPOWER on IntegriCloud