summaryrefslogtreecommitdiffstats
path: root/libcxx
diff options
context:
space:
mode:
authorMarshall Clow <mclow.lists@gmail.com>2013-07-10 18:01:34 +0000
committerMarshall Clow <mclow.lists@gmail.com>2013-07-10 18:01:34 +0000
commit48c9fe29b2e4d09ead9b21b3cfddd68f284cc046 (patch)
treef66dca3846ce00eee5f9bf8dc4bc492948c592bb /libcxx
parentb34939aaf5ea8755a03a6a6c4fc406e5fb2b191b (diff)
downloadbcm5719-llvm-48c9fe29b2e4d09ead9b21b3cfddd68f284cc046.tar.gz
bcm5719-llvm-48c9fe29b2e4d09ead9b21b3cfddd68f284cc046.zip
Improved tests (and fixed a bug in the tests); thanks to Richard Smith for the suggestion
llvm-svn: 186022
Diffstat (limited to 'libcxx')
-rw-r--r--libcxx/test/utilities/utility/exchange/exchange.pass.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/libcxx/test/utilities/utility/exchange/exchange.pass.cpp b/libcxx/test/utilities/utility/exchange/exchange.pass.cpp
index f8b366ac209..620b4149d1d 100644
--- a/libcxx/test/utilities/utility/exchange/exchange.pass.cpp
+++ b/libcxx/test/utilities/utility/exchange/exchange.pass.cpp
@@ -23,7 +23,11 @@ int main()
assert ( std::exchange ( v, 23 ) == 12 );
assert ( v == 23 );
assert ( std::exchange ( v, 67.2 ) == 23 );
- assert ( v = 67 );
+ assert ( v == 67 );
+
+ assert ((std::exchange<int, float> ( v, {} )) == 67 );
+ assert ( v == 0 );
+
}
{
@@ -40,8 +44,15 @@ int main()
assert ( s3 == s2 );
assert ( std::exchange ( s3, "Hi Mom!" ) == s2 );
assert ( s3 == s1 );
- assert ( std::exchange ( s3, "" ) == s1 );
+
+ s3 = s2; // Dad
+ assert ( std::exchange ( s3, {} ) == s2 );
+ assert ( s3.size () == 0 );
+
+ s3 = s2; // Dad
+ assert ( std::exchange ( s3, "" ) == s2 );
assert ( s3.size () == 0 );
}
+
#endif
}
OpenPOWER on IntegriCloud