diff options
author | cherenkov-p-a <cherenkov-p-a@yandex-team.ru> | 2022-02-10 16:49:39 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:49:39 +0300 |
commit | 9011d1fa16370ec024d20180d440f7ae6fd0e1c8 (patch) | |
tree | cd688a9e90e30e02212a6ecaf664209db01c4c36 /library/cpp/string_utils | |
parent | 9700ce2289436b557831d64eb47682c8c2a30ee2 (diff) | |
download | ydb-9011d1fa16370ec024d20180d440f7ae6fd0e1c8.tar.gz |
Restoring authorship annotation for <cherenkov-p-a@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'library/cpp/string_utils')
-rw-r--r-- | library/cpp/string_utils/url/url.cpp | 40 | ||||
-rw-r--r-- | library/cpp/string_utils/url/url.h | 6 | ||||
-rw-r--r-- | library/cpp/string_utils/url/url_ut.cpp | 22 |
3 files changed, 34 insertions, 34 deletions
diff --git a/library/cpp/string_utils/url/url.cpp b/library/cpp/string_utils/url/url.cpp index 85f4ac5d69..7471765c75 100644 --- a/library/cpp/string_utils/url/url.cpp +++ b/library/cpp/string_utils/url/url.cpp @@ -283,26 +283,26 @@ TStringBuf CutWWWPrefix(const TStringBuf url) noexcept { return url; } -TStringBuf CutWWWNumberedPrefix(const TStringBuf url) noexcept { - auto it = url.begin(); - - StripRangeBegin(it, url.end(), [](auto& it){ return *it == 'w' || *it == 'W'; }); - if (it == url.begin()) { - return url; - } - - StripRangeBegin(it, url.end(), [](auto& it){ return IsAsciiDigit(*it); }); - if (it == url.end()) { - return url; - } - - if (*it++ == '.') { - return url.Tail(it - url.begin()); - } - - return url; -} - +TStringBuf CutWWWNumberedPrefix(const TStringBuf url) noexcept { + auto it = url.begin(); + + StripRangeBegin(it, url.end(), [](auto& it){ return *it == 'w' || *it == 'W'; }); + if (it == url.begin()) { + return url; + } + + StripRangeBegin(it, url.end(), [](auto& it){ return IsAsciiDigit(*it); }); + if (it == url.end()) { + return url; + } + + if (*it++ == '.') { + return url.Tail(it - url.begin()); + } + + return url; +} + TStringBuf CutMPrefix(const TStringBuf url) noexcept { if (url.size() >= 2 && url[1] == '.' && (url[0] == 'm' || url[0] == 'M')) { return url.substr(2); diff --git a/library/cpp/string_utils/url/url.h b/library/cpp/string_utils/url/url.h index 84137ccc57..0589534f38 100644 --- a/library/cpp/string_utils/url/url.h +++ b/library/cpp/string_utils/url/url.h @@ -142,9 +142,9 @@ TStringBuf GetZone(const TStringBuf host) noexcept; Y_PURE_FUNCTION TStringBuf CutWWWPrefix(const TStringBuf url) noexcept; -Y_PURE_FUNCTION -TStringBuf CutWWWNumberedPrefix(const TStringBuf url) noexcept; - +Y_PURE_FUNCTION +TStringBuf CutWWWNumberedPrefix(const TStringBuf url) noexcept; + /** * Cuts 'm.' prefix from url if and only if the url starts with it * Example: 'm.some-domain.com' -> 'some-domain.com'. diff --git a/library/cpp/string_utils/url/url_ut.cpp b/library/cpp/string_utils/url/url_ut.cpp index 1588013893..a45f562884 100644 --- a/library/cpp/string_utils/url/url_ut.cpp +++ b/library/cpp/string_utils/url/url_ut.cpp @@ -110,17 +110,17 @@ Y_UNIT_TEST_SUITE(TUtilUrlTest) { UNIT_ASSERT_VALUES_EQUAL("www", CutWWWPrefix("www")); UNIT_ASSERT_VALUES_EQUAL("ya.ru", CutWWWPrefix("www.ya.ru")); - UNIT_ASSERT_VALUES_EQUAL("", CutWWWNumberedPrefix("www.")); - UNIT_ASSERT_VALUES_EQUAL("www", CutWWWNumberedPrefix("www")); - UNIT_ASSERT_VALUES_EQUAL("www27", CutWWWNumberedPrefix("www27")); - UNIT_ASSERT_VALUES_EQUAL("", CutWWWNumberedPrefix("www27.")); - UNIT_ASSERT_VALUES_EQUAL("ya.ru", CutWWWNumberedPrefix("www.ya.ru")); - UNIT_ASSERT_VALUES_EQUAL("ya.ru", CutWWWNumberedPrefix("www2.ya.ru")); - UNIT_ASSERT_VALUES_EQUAL("ya.ru", CutWWWNumberedPrefix("www12.ya.ru")); - UNIT_ASSERT_VALUES_EQUAL("ya.ru", CutWWWNumberedPrefix("ww2.ya.ru")); - UNIT_ASSERT_VALUES_EQUAL("w1w2w3.ya.ru", CutWWWNumberedPrefix("w1w2w3.ya.ru")); - UNIT_ASSERT_VALUES_EQUAL("123.ya.ru", CutWWWNumberedPrefix("123.ya.ru")); - + UNIT_ASSERT_VALUES_EQUAL("", CutWWWNumberedPrefix("www.")); + UNIT_ASSERT_VALUES_EQUAL("www", CutWWWNumberedPrefix("www")); + UNIT_ASSERT_VALUES_EQUAL("www27", CutWWWNumberedPrefix("www27")); + UNIT_ASSERT_VALUES_EQUAL("", CutWWWNumberedPrefix("www27.")); + UNIT_ASSERT_VALUES_EQUAL("ya.ru", CutWWWNumberedPrefix("www.ya.ru")); + UNIT_ASSERT_VALUES_EQUAL("ya.ru", CutWWWNumberedPrefix("www2.ya.ru")); + UNIT_ASSERT_VALUES_EQUAL("ya.ru", CutWWWNumberedPrefix("www12.ya.ru")); + UNIT_ASSERT_VALUES_EQUAL("ya.ru", CutWWWNumberedPrefix("ww2.ya.ru")); + UNIT_ASSERT_VALUES_EQUAL("w1w2w3.ya.ru", CutWWWNumberedPrefix("w1w2w3.ya.ru")); + UNIT_ASSERT_VALUES_EQUAL("123.ya.ru", CutWWWNumberedPrefix("123.ya.ru")); + UNIT_ASSERT_VALUES_EQUAL("", CutMPrefix("m.")); UNIT_ASSERT_VALUES_EQUAL("", CutMPrefix("M.")); UNIT_ASSERT_VALUES_EQUAL("m", CutMPrefix("m")); |