Test whitespace handling in std::complex extraction

* testsuite/26_numerics/complex/inserters_extractors/char/dr2714.cc:
	Add tests using noskipws.

From-SVN: r255632
This commit is contained in:
Jonathan Wakely 2017-12-14 11:47:42 +00:00 committed by Jonathan Wakely
parent 4d39941ea9
commit f297ebafdc
2 changed files with 31 additions and 0 deletions

View File

@ -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

View File

@ -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();
}