1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
4 #include "common/PrebufferedStreambuf.h"
5 #include "gtest/gtest.h"
7 TEST(PrebufferedStreambuf, Empty)
10 PrebufferedStreambuf sb(buf, sizeof(buf));
18 TEST(PrebufferedStreambuf, Simple)
21 PrebufferedStreambuf sb(buf, sizeof(buf));
29 ASSERT_EQ("test", out);
32 TEST(PrebufferedStreambuf, Multiline)
35 PrebufferedStreambuf sb(buf, sizeof(buf));
38 const char *s = "this is a line\nanother line\nand a third\nwhee!\n";
43 getline(is, out, is.widen(0));
47 TEST(PrebufferedStreambuf, Withnull)
50 PrebufferedStreambuf sb(buf, sizeof(buf));
53 std::string s("null \0 and more", 15);
62 TEST(PrebufferedStreambuf, SimpleOverflow)
65 PrebufferedStreambuf sb(buf, sizeof(buf));
68 const char *s = "hello, this is longer than buf[10]";
71 ASSERT_EQ(s, sb.get_str());
79 TEST(PrebufferedStreambuf, ManyOverflow)
82 PrebufferedStreambuf sb(buf, sizeof(buf));
85 const char *s = "hello, this way way way way way way way way way way way way way way way way way way way way way way way way way _way_ longer than buf[10]";
88 ASSERT_EQ(s, sb.get_str());