From 6a48c7e89972de64771d41d45494965b81d07a5f Mon Sep 17 00:00:00 2001 From: yangwentong <425822674@qq.com> Date: Tue, 27 Sep 2022 16:07:11 +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 | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/re2/testing/set_test.cc b/re2/testing/set_test.cc index 5a760c4..720603d 100644 --- a/re2/testing/set_test.cc +++ b/re2/testing/set_test.cc @@ -41,6 +41,33 @@ TEST(Set, Unanchored) { ASSERT_EQ(v[0], 1); } +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, UnanchoredFactored) { RE2::Set s(RE2::DefaultOptions, RE2::UNANCHORED); -- Gitee