diff options
author | sibiryakov <sibiryakov@yandex-team.ru> | 2022-02-10 16:49:33 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:49:33 +0300 |
commit | 413709c9be39070df9cbd14ef3ec098591346ebd (patch) | |
tree | 6a130dff5487ce1eaa161ad316c6c29c998a8ba8 /library/cpp/regex/pcre/regexp_ut.cpp | |
parent | d8825989a7621fc7275e8cfdba16b4f699fb6359 (diff) | |
download | ydb-413709c9be39070df9cbd14ef3ec098591346ebd.tar.gz |
Restoring authorship annotation for <sibiryakov@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'library/cpp/regex/pcre/regexp_ut.cpp')
-rw-r--r-- | library/cpp/regex/pcre/regexp_ut.cpp | 74 |
1 files changed, 37 insertions, 37 deletions
diff --git a/library/cpp/regex/pcre/regexp_ut.cpp b/library/cpp/regex/pcre/regexp_ut.cpp index 5184e801cc..0df0fdf4ab 100644 --- a/library/cpp/regex/pcre/regexp_ut.cpp +++ b/library/cpp/regex/pcre/regexp_ut.cpp @@ -1,16 +1,16 @@ #include <library/cpp/testing/unittest/registar.h> - + #include <util/string/strip.h> #include <library/cpp/regex/pcre/regexp.h> -#include <util/stream/output.h> - -struct TRegTest { - const char* Regexp; - const char* Data; - const char* Result; - int CompileOptions; - int RunOptions; - +#include <util/stream/output.h> + +struct TRegTest { + const char* Regexp; + const char* Data; + const char* Result; + int CompileOptions; + int RunOptions; + TRegTest(const char* re, const char* text, const char* res, int copts = REG_EXTENDED, int ropts = 0) : Regexp(re) , Data(text) @@ -19,8 +19,8 @@ struct TRegTest { , RunOptions(ropts) { } -}; - +}; + struct TSubstTest: public TRegTest { const char* Replacement; const char* Replacement2; @@ -35,44 +35,44 @@ struct TSubstTest: public TRegTest { const TRegTest REGTEST_DATA[] = { TRegTest("test", "its a test and test string.", "6 10", REG_EXTENDED, 0), - TRegTest("test", "its a test and test string.", "6 10 15 19", REG_EXTENDED, REGEXP_GLOBAL), - TRegTest("test|[an]{0,0}", "test and test an test string tes", "0 4 4 4 5 5 6 6 7 7 8 8 9 13 13 13 14 14 15 15 16 16 17 21 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32", REG_EXTENDED, REGEXP_GLOBAL), + TRegTest("test", "its a test and test string.", "6 10 15 19", REG_EXTENDED, REGEXP_GLOBAL), + TRegTest("test|[an]{0,0}", "test and test an test string tes", "0 4 4 4 5 5 6 6 7 7 8 8 9 13 13 13 14 14 15 15 16 16 17 21 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32", REG_EXTENDED, REGEXP_GLOBAL), TRegTest("test[an]{1,}", "test and test an test string tes", "NM", REG_EXTENDED, REGEXP_GLOBAL)}; - + const TSubstTest SUBSTTEST_DATA[] = { TSubstTest("([a-zA-Z]*[0-9]+) (_[a-z]+)", "Xxx123 534 ___124 bsd _A ZXC _L 141 _sd dsfg QWE123 _bbb", "141 XXX/_sd", "$1 XXX/$2", "$2$2$2 YY$1Y/$2")}; -class TRegexpTest: public TTestBase { -private: - regmatch_t Matches[NMATCHES]; - -private: - UNIT_TEST_SUITE(TRegexpTest); +class TRegexpTest: public TTestBase { +private: + regmatch_t Matches[NMATCHES]; + +private: + UNIT_TEST_SUITE(TRegexpTest); UNIT_TEST(TestRe) UNIT_TEST(TestSubst) UNIT_TEST(TestOffEndOfBuffer); - UNIT_TEST_SUITE_END(); - - inline void TestRe() { + UNIT_TEST_SUITE_END(); + + inline void TestRe() { for (const auto& regTest : REGTEST_DATA) { - memset(Matches, 0, sizeof(Matches)); + memset(Matches, 0, sizeof(Matches)); TString result; - + TRegExBase re(regTest.Regexp, regTest.CompileOptions); if (re.Exec(regTest.Data, Matches, regTest.RunOptions) == 0) { for (auto& matche : Matches) { if (matche.rm_so == -1) { - break; - } + break; + } result.append(Sprintf("%i %i ", matche.rm_so, matche.rm_eo)); - } - } else { - result = "NM"; - } + } + } else { + result = "NM"; + } StripInPlace(result); UNIT_ASSERT_VALUES_EQUAL(result, regTest.Result); - } - } + } + } inline void TestSubst() { for (const auto& substTest : SUBSTTEST_DATA) { @@ -98,6 +98,6 @@ private: const TString haystack{"fakty.ictv.ua"}; UNIT_ASSERT_VALUES_EQUAL(re.Match(haystack.c_str()), false); } -}; - -UNIT_TEST_SUITE_REGISTRATION(TRegexpTest); +}; + +UNIT_TEST_SUITE_REGISTRATION(TRegexpTest); |