|
1 | 1 | #include <scratchcpp/list.h> |
2 | 2 | #include <scratchcpp/target.h> |
3 | 3 | #include <scratchcpp/monitor.h> |
| 4 | +#include <utf8.h> |
4 | 5 |
|
5 | 6 | #include "../common.h" |
6 | 7 |
|
@@ -188,10 +189,12 @@ TEST(ListTest, Clear) |
188 | 189 | TEST(ListTest, Append) |
189 | 190 | { |
190 | 191 | List list("", "test list"); |
| 192 | + Value v1("ipsum"); |
| 193 | + Value v2("sit"); |
191 | 194 | list.append("Lorem"); |
192 | | - list.append(Value("ipsum").data()); |
| 195 | + list.append(v1.data()); |
193 | 196 | list.append("dolor"); |
194 | | - list.append(Value("sit").data()); |
| 197 | + list.append(v2.data()); |
195 | 198 | list.append("amet"); |
196 | 199 | ASSERT_EQ(list.toString(), "Lorem ipsum dolor sit amet"); |
197 | 200 |
|
@@ -276,80 +279,81 @@ TEST(ListTest, ArrayIndexOperator) |
276 | 279 | TEST(ListTest, ToString) |
277 | 280 | { |
278 | 281 | List list("", "test list"); |
279 | | - std::string s; |
280 | | - list.toString(s); |
281 | | - ASSERT_EQ(s, ""); |
| 282 | + StringPtr *str = list.toStringPtr(); |
| 283 | + ASSERT_EQ(utf8::utf16to8(std::u16string(str->data)), ""); |
282 | 284 | ASSERT_EQ(list.toString(), ""); |
283 | 285 |
|
284 | 286 | list.append(""); |
285 | | - list.toString(s); |
286 | | - ASSERT_EQ(s, ""); |
| 287 | + str = list.toStringPtr(); |
| 288 | + ASSERT_EQ(utf8::utf16to8(std::u16string(str->data)), ""); |
287 | 289 | ASSERT_EQ(list.toString(), ""); |
288 | 290 |
|
289 | 291 | list.append(""); |
290 | 292 | list.append(""); |
| 293 | + str = list.toStringPtr(); |
| 294 | + ASSERT_EQ(utf8::utf16to8(std::u16string(str->data)), " "); |
291 | 295 | ASSERT_EQ(list.toString(), " "); |
292 | 296 |
|
293 | 297 | list.clear(); |
294 | 298 | list.append("item1"); |
295 | 299 | list.append("i t e m 2"); |
296 | 300 | list.append("item 3"); |
297 | | - list.toString(s); |
298 | | - ASSERT_EQ(s, "item1 i t e m 2 item 3"); |
| 301 | + str = list.toStringPtr(); |
| 302 | + ASSERT_EQ(utf8::utf16to8(std::u16string(str->data)), "item1 i t e m 2 item 3"); |
299 | 303 | ASSERT_EQ(list.toString(), "item1 i t e m 2 item 3"); |
300 | 304 |
|
301 | 305 | list.clear(); |
302 | 306 | list.append(" "); |
303 | 307 | list.append("a "); |
304 | 308 | list.append(" b"); |
305 | 309 | list.append(" c "); |
306 | | - list.toString(s); |
307 | | - ASSERT_EQ(s, " a b c "); |
| 310 | + str = list.toStringPtr(); |
| 311 | + ASSERT_EQ(utf8::utf16to8(std::u16string(str->data)), " a b c "); |
308 | 312 | ASSERT_EQ(list.toString(), " a b c "); |
309 | 313 |
|
310 | 314 | list.clear(); |
311 | 315 | list.append("áä"); |
312 | 316 | list.append("ľ š"); |
313 | | - list.toString(s); |
314 | | - ASSERT_EQ(s, "áä ľ š"); |
| 317 | + str = list.toStringPtr(); |
| 318 | + ASSERT_EQ(utf8::utf16to8(std::u16string(str->data)), "áä ľ š"); |
315 | 319 | ASSERT_EQ(list.toString(), "áä ľ š"); |
316 | 320 |
|
317 | 321 | list.clear(); |
318 | 322 | list.append(-2); |
319 | 323 | list.append(5); |
320 | 324 | list.append(8); |
321 | | - list.toString(s); |
322 | | - ASSERT_EQ(s, "-2 5 8"); |
| 325 | + str = list.toStringPtr(); |
| 326 | + ASSERT_EQ(utf8::utf16to8(std::u16string(str->data)), "-2 5 8"); |
323 | 327 | ASSERT_EQ(list.toString(), "-2 5 8"); |
324 | 328 |
|
325 | 329 | list.clear(); |
326 | 330 | list.append(2); |
327 | 331 | list.append(10); |
328 | 332 | list.append(8); |
329 | | - list.toString(s); |
330 | | - ASSERT_EQ(s, "2 10 8"); |
| 333 | + str = list.toStringPtr(); |
| 334 | + ASSERT_EQ(utf8::utf16to8(std::u16string(str->data)), "2 10 8"); |
331 | 335 | ASSERT_EQ(list.toString(), "2 10 8"); |
332 | 336 |
|
333 | 337 | list.clear(); |
334 | 338 | list.append(0); |
335 | 339 | list.append(9); |
336 | 340 | list.append(8); |
337 | | - list.toString(s); |
338 | | - ASSERT_EQ(s, "098"); |
| 341 | + str = list.toStringPtr(); |
| 342 | + ASSERT_EQ(utf8::utf16to8(std::u16string(str->data)), "098"); |
339 | 343 | ASSERT_EQ(list.toString(), "098"); |
340 | 344 |
|
341 | 345 | list.clear(); |
342 | 346 | list.append("true"); |
343 | 347 | list.append("false"); |
344 | | - list.toString(s); |
345 | | - ASSERT_EQ(s, "true false"); |
| 348 | + str = list.toStringPtr(); |
| 349 | + ASSERT_EQ(utf8::utf16to8(std::u16string(str->data)), "true false"); |
346 | 350 | ASSERT_EQ(list.toString(), "true false"); |
347 | 351 |
|
348 | 352 | list.clear(); |
349 | 353 | list.append(true); |
350 | 354 | list.append(false); |
351 | | - list.toString(s); |
352 | | - ASSERT_EQ(s, "true false"); |
| 355 | + str = list.toStringPtr(); |
| 356 | + ASSERT_EQ(utf8::utf16to8(std::u16string(str->data)), "true false"); |
353 | 357 | ASSERT_EQ(list.toString(), "true false"); |
354 | 358 | } |
355 | 359 |
|
|
0 commit comments