diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2017-12-14 11:47:42 +0000 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2017-12-14 11:47:42 +0000 |
commit | f297ebafdcdf5d5a8c3ef74c9906de67998e5aa7 (patch) | |
tree | 6b670ac9d2498c8604464ed56520e446b5e7f56a /libstdc++-v3 | |
parent | 4d39941ea9e6fe059084be9f5dea7e29e055db91 (diff) | |
download | gcc-f297ebafdcdf5d5a8c3ef74c9906de67998e5aa7.zip gcc-f297ebafdcdf5d5a8c3ef74c9906de67998e5aa7.tar.gz gcc-f297ebafdcdf5d5a8c3ef74c9906de67998e5aa7.tar.bz2 |
Test whitespace handling in std::complex extraction
* testsuite/26_numerics/complex/inserters_extractors/char/dr2714.cc:
Add tests using noskipws.
From-SVN: r255632
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/ChangeLog | 3 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/26_numerics/complex/inserters_extractors/char/dr2714.cc | 28 |
2 files changed, 31 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index b20a277..e035302 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,8 @@ 2017-12-14 Jonathan Wakely <jwakely@redhat.com> + * testsuite/26_numerics/complex/inserters_extractors/char/dr2714.cc: + Add tests using noskipws. + * testsuite/26_numerics/complex/dr2714.cc: Move to ... * testsuite/26_numerics/complex/inserters_extractors/char/dr2714.cc: ... Here. Remove duplicate header and dg-options. Check first invalid diff --git a/libstdc++-v3/testsuite/26_numerics/complex/inserters_extractors/char/dr2714.cc b/libstdc++-v3/testsuite/26_numerics/complex/inserters_extractors/char/dr2714.cc index 17fb8a2..952c52f 100644 --- a/libstdc++-v3/testsuite/26_numerics/complex/inserters_extractors/char/dr2714.cc +++ b/libstdc++-v3/testsuite/26_numerics/complex/inserters_extractors/char/dr2714.cc @@ -145,10 +145,38 @@ test03() in.clear(); } +void +test04() +{ + // Test noskipws handling + std::istringstream in; + const char* bad_inputs[] = { + " 1", " (2)", "( 2)", "(2 )", "(2 ,3)", "(2,3 )", 0 + }; + const std::complex<double> c0(-1, -1); + std::complex<double> c; + for (int i = 0; bad_inputs[i]; ++i) + { + c = c0; + in.clear(); + in.str(bad_inputs[i]); + in >> std::noskipws >> c; + VERIFY( in.fail() ); + VERIFY( c == c0 ); + + in.clear(); + in.str(bad_inputs[i]); + in >> std::skipws >> c; + VERIFY( !in.fail() ); + VERIFY( c != c0 ); + } +} + int main() { test01(); test02(); test03(); + test04(); } |