| 661 | |
| 662 | public: |
| 663 | void TestCollapse() { |
| 664 | TUtf16String s; |
| 665 | s.append(ws, Y_ARRAY_SIZE(ws)).append(3, 'a').append(ws, Y_ARRAY_SIZE(ws)).append(3, 'b').append(ws, Y_ARRAY_SIZE(ws)); |
| 666 | Collapse(s); |
| 667 | UNIT_ASSERT(s == ASCIIToWide(" aaa bbb ")); |
| 668 | { |
| 669 | const TUtf16String w(ASCIIToWide(" a b c ")); |
| 670 | s = w; |
| 671 | Collapse(s); |
| 672 | UNIT_ASSERT(s == w); |
| 673 | #ifndef TSTRING_IS_STD_STRING |
| 674 | UNIT_ASSERT(s.c_str() == w.c_str()); // Collapse() does not change the string at all |
| 675 | #endif |
| 676 | } |
| 677 | s = ASCIIToWide(" 123 456 "); |
| 678 | Collapse(s); |
| 679 | UNIT_ASSERT(s == ASCIIToWide(" 123 456 ")); |
| 680 | |
| 681 | s = ASCIIToWide(" 1\n\n\n23\t 4\f\f56 "); |
| 682 | Collapse(s); |
| 683 | UNIT_ASSERT(s == ASCIIToWide(" 1 23 4 56 ")); |
| 684 | |
| 685 | s = ASCIIToWide(" 1\n\n\n\f\f56 "); |
| 686 | Collapse(s); |
| 687 | UNIT_ASSERT(s == ASCIIToWide(" 1 56 ")); |
| 688 | |
| 689 | s = ASCIIToWide(" 1\r\n,\n(\n23\t 4\f\f56 "); |
| 690 | Collapse(s); |
| 691 | UNIT_ASSERT(s == ASCIIToWide(" 1 , ( 23 4 56 ")); |
| 692 | |
| 693 | s = ASCIIToWide("1 23 "); |
| 694 | Collapse(s); |
| 695 | UNIT_ASSERT(s == ASCIIToWide("1 23 ")); |
| 696 | { |
| 697 | const TUtf16String w = ASCIIToWide(" "); |
| 698 | s = w; |
| 699 | Collapse(s); |
| 700 | UNIT_ASSERT(s == w); |
| 701 | #ifndef TSTRING_IS_STD_STRING |
| 702 | UNIT_ASSERT(s.c_str() == w.c_str()); // Collapse() does not change the string at all |
| 703 | #endif |
| 704 | } |
| 705 | s = ASCIIToWide(" "); |
| 706 | Collapse(s); |
| 707 | UNIT_ASSERT(s == ASCIIToWide(" ")); |
| 708 | |
| 709 | s = ASCIIToWide(",\r\n\""); |
| 710 | Collapse(s); |
| 711 | UNIT_ASSERT(s == ASCIIToWide(", \"")); |
| 712 | |
| 713 | s = ASCIIToWide("-"); |
| 714 | Collapse(s); |
| 715 | UNIT_ASSERT(s == ASCIIToWide("-")); |
| 716 | |
| 717 | s.clear(); |
| 718 | Collapse(s); |
| 719 | UNIT_ASSERT(s == TUtf16String()); |
| 720 | } |
nothing calls this directly
no test coverage detected