ostream_wrapper_test.cpp (1696B)
1 #include <sstream> 2 #include <cstddef> 3 4 #include "gtest/gtest.h" 5 #include "yaml-cpp/ostream_wrapper.h" 6 7 namespace { 8 TEST(OstreamWrapperTest, BufferNoWrite) { 9 YAML::ostream_wrapper wrapper; 10 EXPECT_STREQ("", wrapper.str()); 11 } 12 13 TEST(OstreamWrapperTest, BufferWriteStr) { 14 YAML::ostream_wrapper wrapper; 15 wrapper.write(std::string("Hello, world")); 16 EXPECT_STREQ("Hello, world", wrapper.str()); 17 } 18 19 TEST(OstreamWrapperTest, BufferWriteCStr) { 20 YAML::ostream_wrapper wrapper; 21 wrapper.write("Hello, world"); 22 EXPECT_STREQ("Hello, world", wrapper.str()); 23 } 24 25 TEST(OstreamWrapperTest, StreamNoWrite) { 26 std::stringstream stream; 27 YAML::ostream_wrapper wrapper(stream); 28 EXPECT_STREQ(NULL, wrapper.str()); 29 EXPECT_EQ("", stream.str()); 30 } 31 32 TEST(OstreamWrapperTest, StreamWriteStr) { 33 std::stringstream stream; 34 YAML::ostream_wrapper wrapper(stream); 35 wrapper.write(std::string("Hello, world")); 36 EXPECT_STREQ(NULL, wrapper.str()); 37 EXPECT_EQ("Hello, world", stream.str()); 38 } 39 40 TEST(OstreamWrapperTest, StreamWriteCStr) { 41 std::stringstream stream; 42 YAML::ostream_wrapper wrapper(stream); 43 wrapper.write("Hello, world"); 44 EXPECT_STREQ(NULL, wrapper.str()); 45 EXPECT_EQ("Hello, world", stream.str()); 46 } 47 48 TEST(OstreamWrapperTest, Position) { 49 YAML::ostream_wrapper wrapper; 50 wrapper.write("Hello, world\n"); 51 EXPECT_EQ(1, wrapper.row()); 52 EXPECT_EQ(0, wrapper.col()); 53 EXPECT_EQ(13, wrapper.pos()); 54 } 55 56 TEST(OstreamWrapperTest, Comment) { 57 YAML::ostream_wrapper wrapper; 58 wrapper.write("Hello, world "); 59 wrapper.set_comment(); 60 EXPECT_TRUE(wrapper.comment()); 61 wrapper.write("foo"); 62 EXPECT_TRUE(wrapper.comment()); 63 wrapper.write("\n"); 64 EXPECT_FALSE(wrapper.comment()); 65 } 66 }