MCPcopy Create free account
hub / github.com/apache/brpc / TokenizeTest

Function TokenizeTest

test/string_util_unittest.cc:629–719  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

627// Test for Tokenize
628template <typename STR>
629void 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());

Callers

nothing calls this directly

Calls 3

TokenizeFunction · 0.85
sizeMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected