Add tests for LWG2544. We already implement this; just adding tests to make sure that we keep doing it.

llvm-svn: 283749
This commit is contained in:
Marshall Clow 2016-10-10 14:10:45 +00:00
parent 6cadb5610e
commit 610ad3a598
3 changed files with 66 additions and 0 deletions

View File

@ -26,26 +26,37 @@ int main()
std::istreambuf_iterator<char> i2(inf2);
std::istreambuf_iterator<char> i3;
std::istreambuf_iterator<char> i4;
std::istreambuf_iterator<char> i5(nullptr);
assert( i1.equal(i1));
assert( i1.equal(i2));
assert(!i1.equal(i3));
assert(!i1.equal(i4));
assert(!i1.equal(i5));
assert( i2.equal(i1));
assert( i2.equal(i2));
assert(!i2.equal(i3));
assert(!i2.equal(i4));
assert(!i2.equal(i5));
assert(!i3.equal(i1));
assert(!i3.equal(i2));
assert( i3.equal(i3));
assert( i3.equal(i4));
assert( i3.equal(i5));
assert(!i4.equal(i1));
assert(!i4.equal(i2));
assert( i4.equal(i3));
assert( i4.equal(i4));
assert( i4.equal(i5));
assert(!i5.equal(i1));
assert(!i5.equal(i2));
assert( i5.equal(i3));
assert( i5.equal(i4));
assert( i5.equal(i5));
}
{
std::wistringstream inf1(L"abc");
@ -54,25 +65,36 @@ int main()
std::istreambuf_iterator<wchar_t> i2(inf2);
std::istreambuf_iterator<wchar_t> i3;
std::istreambuf_iterator<wchar_t> i4;
std::istreambuf_iterator<wchar_t> i5(nullptr);
assert( i1.equal(i1));
assert( i1.equal(i2));
assert(!i1.equal(i3));
assert(!i1.equal(i4));
assert(!i1.equal(i5));
assert( i2.equal(i1));
assert( i2.equal(i2));
assert(!i2.equal(i3));
assert(!i2.equal(i4));
assert(!i2.equal(i5));
assert(!i3.equal(i1));
assert(!i3.equal(i2));
assert( i3.equal(i3));
assert( i3.equal(i4));
assert( i3.equal(i5));
assert(!i4.equal(i1));
assert(!i4.equal(i2));
assert( i4.equal(i3));
assert( i4.equal(i4));
assert( i4.equal(i5));
assert(!i5.equal(i1));
assert(!i5.equal(i2));
assert( i5.equal(i3));
assert( i5.equal(i4));
assert( i5.equal(i5));
}
}

View File

@ -28,26 +28,37 @@ int main()
std::istreambuf_iterator<char> i2(inf2);
std::istreambuf_iterator<char> i3;
std::istreambuf_iterator<char> i4;
std::istreambuf_iterator<char> i5(nullptr);
assert(!(i1 != i1));
assert(!(i1 != i2));
assert( (i1 != i3));
assert( (i1 != i4));
assert( (i1 != i5));
assert(!(i2 != i1));
assert(!(i2 != i2));
assert( (i2 != i3));
assert( (i2 != i4));
assert( (i2 != i5));
assert( (i3 != i1));
assert( (i3 != i2));
assert(!(i3 != i3));
assert(!(i3 != i4));
assert(!(i3 != i5));
assert( (i4 != i1));
assert( (i4 != i2));
assert(!(i4 != i3));
assert(!(i4 != i4));
assert(!(i4 != i5));
assert( (i5 != i1));
assert( (i5 != i2));
assert(!(i5 != i3));
assert(!(i5 != i4));
assert(!(i5 != i5));
}
{
std::wistringstream inf1(L"abc");
@ -56,25 +67,36 @@ int main()
std::istreambuf_iterator<wchar_t> i2(inf2);
std::istreambuf_iterator<wchar_t> i3;
std::istreambuf_iterator<wchar_t> i4;
std::istreambuf_iterator<wchar_t> i5(nullptr);
assert(!(i1 != i1));
assert(!(i1 != i2));
assert( (i1 != i3));
assert( (i1 != i4));
assert( (i1 != i5));
assert(!(i2 != i1));
assert(!(i2 != i2));
assert( (i2 != i3));
assert( (i2 != i4));
assert( (i2 != i5));
assert( (i3 != i1));
assert( (i3 != i2));
assert(!(i3 != i3));
assert(!(i3 != i4));
assert(!(i3 != i5));
assert( (i4 != i1));
assert( (i4 != i2));
assert(!(i4 != i3));
assert(!(i4 != i4));
assert(!(i4 != i5));
assert( (i5 != i1));
assert( (i5 != i2));
assert(!(i5 != i3));
assert(!(i5 != i4));
assert(!(i5 != i5));
}
}

View File

@ -28,26 +28,37 @@ int main()
std::istreambuf_iterator<char> i2(inf2);
std::istreambuf_iterator<char> i3;
std::istreambuf_iterator<char> i4;
std::istreambuf_iterator<char> i5(nullptr);
assert( (i1 == i1));
assert( (i1 == i2));
assert(!(i1 == i3));
assert(!(i1 == i4));
assert(!(i1 == i5));
assert( (i2 == i1));
assert( (i2 == i2));
assert(!(i2 == i3));
assert(!(i2 == i4));
assert(!(i2 == i5));
assert(!(i3 == i1));
assert(!(i3 == i2));
assert( (i3 == i3));
assert( (i3 == i4));
assert( (i3 == i5));
assert(!(i4 == i1));
assert(!(i4 == i2));
assert( (i4 == i3));
assert( (i4 == i4));
assert( (i4 == i5));
assert(!(i5 == i1));
assert(!(i5 == i2));
assert( (i5 == i3));
assert( (i5 == i4));
assert( (i5 == i5));
}
{
std::wistringstream inf1(L"abc");
@ -56,25 +67,36 @@ int main()
std::istreambuf_iterator<wchar_t> i2(inf2);
std::istreambuf_iterator<wchar_t> i3;
std::istreambuf_iterator<wchar_t> i4;
std::istreambuf_iterator<wchar_t> i5(nullptr);
assert( (i1 == i1));
assert( (i1 == i2));
assert(!(i1 == i3));
assert(!(i1 == i4));
assert(!(i1 == i5));
assert( (i2 == i1));
assert( (i2 == i2));
assert(!(i2 == i3));
assert(!(i2 == i4));
assert(!(i2 == i5));
assert(!(i3 == i1));
assert(!(i3 == i2));
assert( (i3 == i3));
assert( (i3 == i4));
assert( (i3 == i5));
assert(!(i4 == i1));
assert(!(i4 == i2));
assert( (i4 == i3));
assert( (i4 == i4));
assert( (i4 == i5));
assert(!(i5 == i1));
assert(!(i5 == i2));
assert( (i5 == i3));
assert( (i5 == i4));
assert( (i5 == i5));
}
}