]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | #include "gtest/gtest.h" |
2 | ||
3 | #include "common/Formatter.h" | |
4 | #include <sstream> | |
5 | #include <string> | |
6 | ||
7 | using namespace ceph; | |
8 | ||
9 | ||
10 | TEST(xmlformatter, oneline) | |
11 | { | |
12 | ||
13 | std::stringstream sout; | |
14 | XMLFormatter formatter; | |
15 | formatter.dump_int("integer", 10); | |
16 | formatter.dump_float("float", 10.0); | |
17 | formatter.dump_string("string", "string"); | |
18 | formatter.flush(sout); | |
19 | std::string cmp = "<integer>10</integer><float>10</float><string>string</string>"; | |
20 | EXPECT_EQ(cmp, sout.str()); | |
21 | } | |
22 | ||
23 | TEST(xmlformatter, multiline) | |
24 | { | |
25 | std::stringstream sout; | |
26 | XMLFormatter formatter; | |
27 | formatter.dump_int("integer", 10); | |
28 | formatter.dump_float("float", 10.0); | |
29 | formatter.dump_string("string", "string"); | |
30 | formatter.dump_int("integer", 20); | |
31 | formatter.dump_float("float", 20.0); | |
32 | formatter.dump_string("string", "string"); | |
33 | ||
34 | std::string cmp = "" | |
35 | "<integer>10</integer><float>10</float><string>string</string>" | |
36 | "<integer>20</integer><float>20</float><string>string</string>"; | |
37 | ||
38 | formatter.flush(sout); | |
39 | EXPECT_EQ(cmp, sout.str()); | |
40 | } | |
41 | ||
42 | TEST(xmlformatter, multiflush) | |
43 | { | |
44 | std::stringstream sout1; | |
45 | std::stringstream sout2; | |
46 | XMLFormatter formatter; | |
47 | formatter.dump_int("integer", 10); | |
48 | formatter.dump_float("float", 10.0); | |
49 | formatter.dump_string("string", "string"); | |
50 | formatter.flush(sout1); | |
51 | ||
52 | std::string cmp = "" | |
53 | "<integer>10</integer>" | |
54 | "<float>10</float>" | |
55 | "<string>string</string>"; | |
56 | ||
57 | EXPECT_EQ(cmp, sout1.str()); | |
58 | ||
59 | formatter.dump_int("integer", 20); | |
60 | formatter.dump_float("float", 20.0); | |
61 | formatter.dump_string("string", "string"); | |
62 | formatter.flush(sout2); | |
63 | ||
64 | cmp = "" | |
65 | "<integer>20</integer>" | |
66 | "<float>20</float>" | |
67 | "<string>string</string>"; | |
68 | ||
69 | EXPECT_EQ(cmp, sout2.str()); | |
70 | } | |
71 | ||
72 | TEST(xmlformatter, pretty) | |
73 | { | |
74 | std::stringstream sout; | |
75 | XMLFormatter formatter( | |
76 | true, // pretty | |
77 | false, // lowercased | |
78 | false); // underscored | |
79 | formatter.open_object_section("xml"); | |
80 | formatter.dump_int("Integer", 10); | |
81 | formatter.dump_float("Float", 10.0); | |
82 | formatter.dump_string("String", "String"); | |
83 | formatter.close_section(); | |
84 | formatter.flush(sout); | |
85 | std::string cmp = "" | |
86 | "<xml>\n" | |
87 | " <Integer>10</Integer>\n" | |
88 | " <Float>10</Float>\n" | |
89 | " <String>String</String>\n" | |
90 | "</xml>\n\n"; | |
91 | EXPECT_EQ(cmp, sout.str()); | |
92 | } | |
93 | ||
94 | TEST(xmlformatter, lowercased) | |
95 | { | |
96 | std::stringstream sout; | |
97 | XMLFormatter formatter( | |
98 | false, // pretty | |
99 | true, // lowercased | |
100 | false); // underscored | |
101 | formatter.dump_int("Integer", 10); | |
102 | formatter.dump_float("Float", 10.0); | |
103 | formatter.dump_string("String", "String"); | |
104 | formatter.flush(sout); | |
105 | std::string cmp = "" | |
106 | "<integer>10</integer>" | |
107 | "<float>10</float>" | |
108 | "<string>String</string>"; | |
109 | EXPECT_EQ(cmp, sout.str()); | |
110 | } | |
111 | ||
112 | TEST(xmlformatter, underscored) | |
113 | { | |
114 | std::stringstream sout; | |
115 | XMLFormatter formatter( | |
116 | false, // pretty | |
117 | false, // lowercased | |
118 | true); // underscored | |
119 | formatter.dump_int("Integer Item", 10); | |
120 | formatter.dump_float("Float Item", 10.0); | |
121 | formatter.dump_string("String Item", "String"); | |
122 | formatter.flush(sout); | |
123 | std::string cmp = "" | |
124 | "<Integer_Item>10</Integer_Item>" | |
125 | "<Float_Item>10</Float_Item>" | |
126 | "<String_Item>String</String_Item>"; | |
127 | ||
128 | EXPECT_EQ(cmp, sout.str()); | |
129 | } | |
130 | ||
131 | TEST(xmlformatter, lowercased_underscored) | |
132 | { | |
133 | std::stringstream sout; | |
134 | XMLFormatter formatter( | |
135 | false, // pretty | |
136 | true, // lowercased | |
137 | true); // underscored | |
138 | formatter.dump_int("Integer Item", 10); | |
139 | formatter.dump_float("Float Item", 10.0); | |
140 | formatter.dump_string("String Item", "String"); | |
141 | formatter.flush(sout); | |
142 | std::string cmp = "" | |
143 | "<integer_item>10</integer_item>" | |
144 | "<float_item>10</float_item>" | |
145 | "<string_item>String</string_item>"; | |
146 | EXPECT_EQ(cmp, sout.str()); | |
147 | } | |
148 | ||
149 | TEST(xmlformatter, pretty_lowercased_underscored) | |
150 | { | |
151 | std::stringstream sout; | |
152 | XMLFormatter formatter( | |
153 | true, // pretty | |
154 | true, // lowercased | |
155 | true); // underscored | |
156 | formatter.dump_int("Integer Item", 10); | |
157 | formatter.dump_float("Float Item", 10.0); | |
158 | formatter.dump_string("String Item", "String"); | |
159 | formatter.flush(sout); | |
160 | std::string cmp = "" | |
161 | "<integer_item>10</integer_item>\n" | |
162 | "<float_item>10</float_item>\n" | |
163 | "<string_item>String</string_item>\n\n"; | |
164 | EXPECT_EQ(cmp, sout.str()); | |
165 | } |