diff options
| author | cherenkov-p-a <[email protected]> | 2022-02-10 16:49:39 +0300 | 
|---|---|---|
| committer | Daniil Cherednik <[email protected]> | 2022-02-10 16:49:39 +0300 | 
| commit | 9011d1fa16370ec024d20180d440f7ae6fd0e1c8 (patch) | |
| tree | cd688a9e90e30e02212a6ecaf664209db01c4c36 /library/cpp/string_utils | |
| parent | 9700ce2289436b557831d64eb47682c8c2a30ee2 (diff) | |
Restoring authorship annotation for <[email protected]>. 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 85f4ac5d693..7471765c758 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 84137ccc57d..0589534f387 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 15880138939..a45f5628841 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")); | 
