Fix <rdar://problem/10256836> getline of an empty string mistakenly causes failure

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@141506 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Howard Hinnant
2011-10-09 15:20:46 +00:00
parent c6fe8cafc3
commit b97de44471
2 changed files with 11 additions and 3 deletions

View File

@@ -21,7 +21,7 @@
int main()
{
{
std::istringstream in(" abc* def* ghij");
std::istringstream in(" abc* def** ghij");
std::string s("initial text");
getline(in, s, '*');
assert(in.good());
@@ -30,11 +30,14 @@ int main()
assert(in.good());
assert(s == " def");
getline(in, s, '*');
assert(in.good());
assert(s == "");
getline(in, s, '*');
assert(in.eof());
assert(s == " ghij");
}
{
std::wistringstream in(L" abc* def* ghij");
std::wistringstream in(L" abc* def** ghij");
std::wstring s(L"initial text");
getline(in, s, L'*');
assert(in.good());
@@ -43,6 +46,9 @@ int main()
assert(in.good());
assert(s == L" def");
getline(in, s, L'*');
assert(in.good());
assert(s == L"");
getline(in, s, L'*');
assert(in.eof());
assert(s == L" ghij");
}