diff options
Diffstat (limited to 'libcxx/test/input.output/string.streams/stringbuf/stringbuf.virtuals/overflow.pass.cpp')
-rw-r--r-- | libcxx/test/input.output/string.streams/stringbuf/stringbuf.virtuals/overflow.pass.cpp | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/libcxx/test/input.output/string.streams/stringbuf/stringbuf.virtuals/overflow.pass.cpp b/libcxx/test/input.output/string.streams/stringbuf/stringbuf.virtuals/overflow.pass.cpp deleted file mode 100644 index 3abf9423a12..00000000000 --- a/libcxx/test/input.output/string.streams/stringbuf/stringbuf.virtuals/overflow.pass.cpp +++ /dev/null @@ -1,97 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// <sstream> - -// template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > -// class basic_stringbuf - -// int_type overflow(int_type c = traits::eof()); - -#include <sstream> -#include <cassert> - -int overflow_called = 0; - -template <class CharT> -struct testbuf - : public std::basic_stringbuf<CharT> -{ - typedef std::basic_stringbuf<CharT> base; - explicit testbuf(const std::basic_string<CharT>& str, - std::ios_base::openmode which = std::ios_base::in | std::ios_base::out) - : base(str, which) {} - - typename base::int_type - overflow(typename base::int_type c = base::type_traits::eof()) - {++overflow_called; return base::overflow(c);} - - void pbump(int n) {base::pbump(n);} -}; - -int main() -{ - { - testbuf<char> sb("abc"); - assert(sb.sputc('1') == '1'); - assert(sb.str() == "1bc"); - assert(sb.sputc('2') == '2'); - assert(sb.str() == "12c"); - assert(sb.sputc('3') == '3'); - assert(sb.str() == "123"); - assert(sb.sputc('4') == '4'); - assert(sb.str() == "1234"); - assert(sb.sputc('5') == '5'); - assert(sb.str() == "12345"); - assert(sb.sputc('6') == '6'); - assert(sb.str() == "123456"); - assert(sb.sputc('7') == '7'); - assert(sb.str() == "1234567"); - assert(sb.sputc('8') == '8'); - assert(sb.str() == "12345678"); - assert(sb.sputc('9') == '9'); - assert(sb.str() == "123456789"); - assert(sb.sputc('0') == '0'); - assert(sb.str() == "1234567890"); - assert(sb.sputc('1') == '1'); - assert(sb.str() == "12345678901"); - } - { - testbuf<wchar_t> sb(L"abc"); - assert(sb.sputc(L'1') == L'1'); - assert(sb.str() == L"1bc"); - assert(sb.sputc(L'2') == L'2'); - assert(sb.str() == L"12c"); - assert(sb.sputc(L'3') == L'3'); - assert(sb.str() == L"123"); - assert(sb.sputc(L'4') == L'4'); - assert(sb.str() == L"1234"); - assert(sb.sputc(L'5') == L'5'); - assert(sb.str() == L"12345"); - assert(sb.sputc(L'6') == L'6'); - assert(sb.str() == L"123456"); - assert(sb.sputc(L'7') == L'7'); - assert(sb.str() == L"1234567"); - assert(sb.sputc(L'8') == L'8'); - assert(sb.str() == L"12345678"); - assert(sb.sputc(L'9') == L'9'); - assert(sb.str() == L"123456789"); - assert(sb.sputc(L'0') == L'0'); - assert(sb.str() == L"1234567890"); - assert(sb.sputc(L'1') == L'1'); - assert(sb.str() == L"12345678901"); - } - { - testbuf<char> sb("abc", std::ios_base::app | std::ios_base::out); - assert(sb.sputc('1') == '1'); - assert(sb.str() == "abc1"); - assert(sb.sputc('2') == '2'); - assert(sb.str() == "abc12"); - } -} |