| 627 | // Test for Tokenize |
| 628 | template <typename STR> |
| 629 | void TokenizeTest() { |
| 630 | std::vector<STR> r; |
| 631 | size_t size; |
| 632 | |
| 633 | size = Tokenize(STR("This is a string"), STR(" "), &r); |
| 634 | EXPECT_EQ(4U, size); |
| 635 | ASSERT_EQ(4U, r.size()); |
| 636 | EXPECT_EQ(r[0], STR("This")); |
| 637 | EXPECT_EQ(r[1], STR("is")); |
| 638 | EXPECT_EQ(r[2], STR("a")); |
| 639 | EXPECT_EQ(r[3], STR("string")); |
| 640 | r.clear(); |
| 641 | |
| 642 | size = Tokenize(STR("one,two,three"), STR(","), &r); |
| 643 | EXPECT_EQ(3U, size); |
| 644 | ASSERT_EQ(3U, r.size()); |
| 645 | EXPECT_EQ(r[0], STR("one")); |
| 646 | EXPECT_EQ(r[1], STR("two")); |
| 647 | EXPECT_EQ(r[2], STR("three")); |
| 648 | r.clear(); |
| 649 | |
| 650 | size = Tokenize(STR("one,two:three;four"), STR(",:"), &r); |
| 651 | EXPECT_EQ(3U, size); |
| 652 | ASSERT_EQ(3U, r.size()); |
| 653 | EXPECT_EQ(r[0], STR("one")); |
| 654 | EXPECT_EQ(r[1], STR("two")); |
| 655 | EXPECT_EQ(r[2], STR("three;four")); |
| 656 | r.clear(); |
| 657 | |
| 658 | size = Tokenize(STR("one,two:three;four"), STR(";,:"), &r); |
| 659 | EXPECT_EQ(4U, size); |
| 660 | ASSERT_EQ(4U, r.size()); |
| 661 | EXPECT_EQ(r[0], STR("one")); |
| 662 | EXPECT_EQ(r[1], STR("two")); |
| 663 | EXPECT_EQ(r[2], STR("three")); |
| 664 | EXPECT_EQ(r[3], STR("four")); |
| 665 | r.clear(); |
| 666 | |
| 667 | size = Tokenize(STR("one, two, three"), STR(","), &r); |
| 668 | EXPECT_EQ(3U, size); |
| 669 | ASSERT_EQ(3U, r.size()); |
| 670 | EXPECT_EQ(r[0], STR("one")); |
| 671 | EXPECT_EQ(r[1], STR(" two")); |
| 672 | EXPECT_EQ(r[2], STR(" three")); |
| 673 | r.clear(); |
| 674 | |
| 675 | size = Tokenize(STR("one, two, three, "), STR(","), &r); |
| 676 | EXPECT_EQ(4U, size); |
| 677 | ASSERT_EQ(4U, r.size()); |
| 678 | EXPECT_EQ(r[0], STR("one")); |
| 679 | EXPECT_EQ(r[1], STR(" two")); |
| 680 | EXPECT_EQ(r[2], STR(" three")); |
| 681 | EXPECT_EQ(r[3], STR(" ")); |
| 682 | r.clear(); |
| 683 | |
| 684 | size = Tokenize(STR("one, two, three,"), STR(","), &r); |
| 685 | EXPECT_EQ(3U, size); |
| 686 | ASSERT_EQ(3U, r.size()); |