From 6effcb920a7d6cf4ac6d65094823088cad11a2d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cyangwentong=E2=80=9D?= <“425822674@qq.com”> Date: Tue, 27 Sep 2022 15:38:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BAset=5Ftest.cc=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- re2/testing/set_test.cc | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/re2/testing/set_test.cc b/re2/testing/set_test.cc index 5a760c4..6a44ccb 100644 --- a/re2/testing/set_test.cc +++ b/re2/testing/set_test.cc @@ -41,6 +41,7 @@ TEST(Set, Unanchored) { ASSERT_EQ(v[0], 1); } + TEST(Set, UnanchoredFactored) { RE2::Set s(RE2::DefaultOptions, RE2::UNANCHORED); @@ -114,6 +115,33 @@ TEST(Set, UnanchoredWordBoundary) { ASSERT_EQ(v[0], 0); } +TEST(Set, AnchorStart) { + RE2::Set s(RE2::DefaultOptions, RE2::ANCHOR_START); + + ASSERT_EQ(s.Add("foo", NULL), 0); + ASSERT_EQ(s.Add("(", NULL), -1); + ASSERT_EQ(s.Add("bar", NULL), 1); + ASSERT_EQ(s.Compile(), true); + + ASSERT_EQ(s.Match("foobar", NULL), true); + ASSERT_EQ(s.Match("fooba", NULL), true); + ASSERT_EQ(s.Match("oobar", NULL), true); + + std::vector v; + ASSERT_EQ(s.Match("foobar", &v), true); + ASSERT_EQ(v.size(), 2); + ASSERT_EQ(v[0], 0); + ASSERT_EQ(v[1], 1); + + ASSERT_EQ(s.Match("fooba", &v), true); + ASSERT_EQ(v.size(), 1); + ASSERT_EQ(v[0], 0); + + ASSERT_EQ(s.Match("oobar", &v), true); + ASSERT_EQ(v.size(), 1); + ASSERT_EQ(v[0], 1); +} + TEST(Set, Anchored) { RE2::Set s(RE2::DefaultOptions, RE2::ANCHOR_BOTH); -- Gitee