|
10 | 10 | #include <string>
|
11 | 11 |
|
12 | 12 | #include "llvm/Support/Error.h"
|
13 |
| -#include "llvm/Testing/Support/Error.h" |
14 | 13 |
|
15 |
| -using ::llvm::FailedWithMessage; |
16 |
| -using ::llvm::HasValue; |
| 14 | +using ::llvm::toString; |
17 | 15 | using ::testing::Eq;
|
18 | 16 | using ::testing::Optional;
|
19 | 17 |
|
@@ -58,137 +56,144 @@ TEST(UnescapeStringLiteral, Nul) {
|
58 | 56 | }
|
59 | 57 |
|
60 | 58 | TEST(ParseBlockStringLiteral, FailTooFewLines) {
|
61 |
| - EXPECT_THAT_EXPECTED(ParseBlockStringLiteral(""), |
62 |
| - FailedWithMessage("Too few lines")); |
| 59 | + EXPECT_THAT(toString(ParseBlockStringLiteral("").takeError()), |
| 60 | + Eq("Too few lines")); |
63 | 61 | }
|
64 | 62 |
|
65 | 63 | TEST(ParseBlockStringLiteral, FailNoLeadingTripleQuotes) {
|
66 |
| - EXPECT_THAT_EXPECTED( |
67 |
| - ParseBlockStringLiteral("'a'\n"), |
68 |
| - FailedWithMessage("Should start with triple quotes: 'a'")); |
| 64 | + EXPECT_THAT(toString(ParseBlockStringLiteral("'a'\n").takeError()), |
| 65 | + Eq("Should start with triple quotes: 'a'")); |
69 | 66 | }
|
70 | 67 |
|
71 | 68 | TEST(ParseBlockStringLiteral, FailInvalideFiletypeIndicator) {
|
72 |
| - EXPECT_THAT_EXPECTED( |
73 |
| - ParseBlockStringLiteral("\"\"\"carbon file\n"), |
74 |
| - FailedWithMessage( |
75 |
| - "Invalid characters in file type indicator: carbon file")); |
| 69 | + EXPECT_THAT( |
| 70 | + toString(ParseBlockStringLiteral("\"\"\"carbon file\n").takeError()), |
| 71 | + Eq("Invalid characters in file type indicator: carbon file")); |
76 | 72 | }
|
77 | 73 |
|
78 | 74 | TEST(ParseBlockStringLiteral, FailEndingTripleQuotes) {
|
79 |
| - EXPECT_THAT_EXPECTED(ParseBlockStringLiteral("\"\"\"\n"), |
80 |
| - FailedWithMessage("Should end with triple quotes: ")); |
| 75 | + EXPECT_THAT(toString(ParseBlockStringLiteral("\"\"\"\n").takeError()), |
| 76 | + Eq("Should end with triple quotes: ")); |
81 | 77 | }
|
82 | 78 |
|
83 | 79 | TEST(ParseBlockStringLiteral, FailWrongIndent) {
|
84 |
| - EXPECT_THAT_EXPECTED( |
85 |
| - ParseBlockStringLiteral(R"(""" |
| 80 | + constexpr char Input[] = R"(""" |
86 | 81 | A block string literal
|
87 | 82 | with wrong indent
|
88 |
| - """)"), |
89 |
| - FailedWithMessage( |
90 |
| - "Wrong indent for line: with wrong indent, expected 5")); |
| 83 | + """)"; |
| 84 | + EXPECT_THAT(toString(ParseBlockStringLiteral(Input).takeError()), |
| 85 | + Eq("Wrong indent for line: with wrong indent, expected 5")); |
91 | 86 | }
|
92 | 87 |
|
93 | 88 | TEST(ParseBlockStringLiteral, FailInvalidEscaping) {
|
94 |
| - EXPECT_THAT_EXPECTED(ParseBlockStringLiteral(R"(""" |
| 89 | + constexpr char Input[] = R"(""" |
95 | 90 | \q
|
96 |
| - """)"), |
97 |
| - FailedWithMessage("Invalid escaping in \\q")); |
| 91 | + """)"; |
| 92 | + EXPECT_THAT(toString(ParseBlockStringLiteral(Input).takeError()), |
| 93 | + Eq("Invalid escaping in \\q")); |
98 | 94 | }
|
99 | 95 |
|
100 | 96 | TEST(ParseBlockStringLiteral, OkEmptyString) {
|
101 |
| - EXPECT_THAT_EXPECTED(ParseBlockStringLiteral(R"(""" |
102 |
| -""")"), |
103 |
| - HasValue("")); |
| 97 | + constexpr char Input[] = R"(""" |
| 98 | +""")"; |
| 99 | + EXPECT_THAT(ParseBlockStringLiteral(Input).get(), Eq("")); |
104 | 100 | }
|
105 | 101 |
|
106 | 102 | TEST(ParseBlockStringLiteral, OkOneLineString) {
|
107 |
| - EXPECT_THAT_EXPECTED(ParseBlockStringLiteral(R"(""" |
| 103 | + constexpr char Input[] = R"(""" |
108 | 104 | A block string literal
|
109 |
| - """)"), |
110 |
| - HasValue(R"(A block string literal |
111 |
| -)")); |
| 105 | + """)"; |
| 106 | + constexpr char Expected[] = R"(A block string literal |
| 107 | +)"; |
| 108 | + EXPECT_THAT(ParseBlockStringLiteral(Input).get(), Eq(Expected)); |
112 | 109 | }
|
113 | 110 |
|
114 | 111 | TEST(ParseBlockStringLiteral, OkTwoLineString) {
|
115 |
| - EXPECT_THAT_EXPECTED(ParseBlockStringLiteral(R"(""" |
| 112 | + constexpr char Input[] = R"(""" |
116 | 113 | A block string literal
|
117 | 114 | with indent.
|
118 |
| - """)"), |
119 |
| - HasValue(R"(A block string literal |
| 115 | + """)"; |
| 116 | + constexpr char Expected[] = R"(A block string literal |
120 | 117 | with indent.
|
121 |
| -)")); |
| 118 | +)"; |
| 119 | + EXPECT_THAT(ParseBlockStringLiteral(Input).get(), Eq(Expected)); |
122 | 120 | }
|
123 | 121 |
|
124 | 122 | TEST(ParseBlockStringLiteral, OkWithFileTypeIndicator) {
|
125 |
| - EXPECT_THAT_EXPECTED(ParseBlockStringLiteral(R"("""carbon |
| 123 | + constexpr char Input[] = R"("""carbon |
126 | 124 | A block string literal
|
127 | 125 | with file type indicator.
|
128 |
| - """)"), |
129 |
| - HasValue(R"(A block string literal |
| 126 | + """)"; |
| 127 | + constexpr char Expected[] = R"(A block string literal |
130 | 128 | with file type indicator.
|
131 |
| -)")); |
| 129 | +)"; |
| 130 | + EXPECT_THAT(ParseBlockStringLiteral(Input).get(), Eq(Expected)); |
132 | 131 | }
|
133 | 132 |
|
134 | 133 | TEST(ParseBlockStringLiteral, OkWhitespaceAfterOpeningQuotes) {
|
135 |
| - EXPECT_THAT_EXPECTED(ParseBlockStringLiteral(R"(""" |
| 134 | + constexpr char Input[] = R"(""" |
136 | 135 | A block string literal
|
137 |
| - """)"), |
138 |
| - HasValue(R"(A block string literal |
139 |
| -)")); |
| 136 | + """)"; |
| 137 | + constexpr char Expected[] = R"(A block string literal |
| 138 | +)"; |
| 139 | + EXPECT_THAT(ParseBlockStringLiteral(Input).get(), Eq(Expected)); |
140 | 140 | }
|
141 | 141 |
|
142 | 142 | TEST(ParseBlockStringLiteral, OkWithEmptyLines) {
|
143 |
| - EXPECT_THAT_EXPECTED(ParseBlockStringLiteral(R"(""" |
| 143 | + constexpr char Input[] = R"(""" |
144 | 144 | A block string literal
|
145 | 145 |
|
146 | 146 | with
|
147 | 147 |
|
148 | 148 | empty
|
149 | 149 |
|
150 | 150 | lines.
|
151 |
| - """)"), |
152 |
| - HasValue(R"(A block string literal |
| 151 | + """)"; |
| 152 | + constexpr char Expected[] = R"(A block string literal |
153 | 153 |
|
154 | 154 | with
|
155 | 155 |
|
156 | 156 | empty
|
157 | 157 |
|
158 | 158 | lines.
|
159 |
| -)")); |
| 159 | +)"; |
| 160 | + EXPECT_THAT(ParseBlockStringLiteral(Input).get(), Eq(Expected)); |
160 | 161 | }
|
161 | 162 |
|
162 | 163 | TEST(ParseBlockStringLiteral, OkWithSlashNewlineEscape) {
|
163 |
| - EXPECT_THAT_EXPECTED(ParseBlockStringLiteral(R"(""" |
| 164 | + constexpr char Input[] = R"(""" |
164 | 165 | A block string literal\
|
165 |
| - """)"), |
166 |
| - HasValue("A block string literal")); |
| 166 | + """)"; |
| 167 | + constexpr char Expected[] = "A block string literal"; |
| 168 | + EXPECT_THAT(ParseBlockStringLiteral(Input).get(), Eq(Expected)); |
167 | 169 | }
|
168 | 170 |
|
169 | 171 | TEST(ParseBlockStringLiteral, OkWithDoubleSlashNewline) {
|
170 |
| - EXPECT_THAT_EXPECTED(ParseBlockStringLiteral(R"(""" |
| 172 | + constexpr char Input[] = R"(""" |
171 | 173 | A block string literal\\
|
172 |
| - """)"), |
173 |
| - HasValue(R"(A block string literal\ |
174 |
| -)")); |
| 174 | + """)"; |
| 175 | + constexpr char Expected[] = R"(A block string literal\ |
| 176 | +)"; |
| 177 | + EXPECT_THAT(ParseBlockStringLiteral(Input).get(), Eq(Expected)); |
175 | 178 | }
|
176 | 179 |
|
177 | 180 | TEST(ParseBlockStringLiteral, OkWithTripleSlashNewline) {
|
178 |
| - EXPECT_THAT_EXPECTED(ParseBlockStringLiteral(R"(""" |
| 181 | + constexpr char Input[] = R"(""" |
179 | 182 | A block string literal\\\
|
180 |
| - """)"), |
181 |
| - HasValue(R"(A block string literal\)")); |
| 183 | + """)"; |
| 184 | + constexpr char Expected[] = R"(A block string literal\)"; |
| 185 | + EXPECT_THAT(ParseBlockStringLiteral(Input).get(), Eq(Expected)); |
182 | 186 | }
|
183 | 187 |
|
184 | 188 | TEST(ParseBlockStringLiteral, OkMultipleSlashes) {
|
185 |
| - EXPECT_THAT_EXPECTED(ParseBlockStringLiteral(R"(""" |
| 189 | + constexpr char Input[] = R"(""" |
186 | 190 | A block string literal\
|
187 | 191 | \
|
188 | 192 | \
|
189 | 193 | \
|
190 |
| - """)"), |
191 |
| - HasValue("A block string literal")); |
| 194 | + """)"; |
| 195 | + constexpr char Expected[] = "A block string literal"; |
| 196 | + EXPECT_THAT(ParseBlockStringLiteral(Input).get(), Eq(Expected)); |
192 | 197 | }
|
193 | 198 |
|
194 | 199 | } // namespace
|
|
0 commit comments