Chromium Code Reviews| Index: components/omnibox/browser/url_prefix_unittest.cc |
| diff --git a/components/omnibox/browser/url_prefix_unittest.cc b/components/omnibox/browser/url_prefix_unittest.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..d77166d7cb96d066571b6b9034590a12eb8ff1b5 |
| --- /dev/null |
| +++ b/components/omnibox/browser/url_prefix_unittest.cc |
| @@ -0,0 +1,53 @@ |
| +// Copyright 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "components/omnibox/browser/url_prefix.h" |
| + |
| +#include "base/strings/utf_string_conversions.h" |
| +#include "testing/gtest/include/gtest/gtest.h" |
| + |
| +namespace { |
| +struct TestCase { |
| + TestCase(const char* text, |
| + const char* prefix_suffix, |
| + const char* expected_prefix) |
| + : text(base::ASCIIToUTF16(text)), |
| + prefix_suffix(base::ASCIIToUTF16(prefix_suffix)), |
| + expected_prefix(base::ASCIIToUTF16(expected_prefix)) {} |
| + base::string16 text; |
| + base::string16 prefix_suffix; |
| + base::string16 expected_prefix; |
| +}; |
| +} // namespace |
| + |
| +TEST(URLPrefix, BestURLPrefix) { |
| + const TestCase test_cases[] = { |
| + // Lowercase test cases with empty prefix suffix. |
| + TestCase("https://www.yandex.ru", "", "https://www."), |
| + TestCase("http://www.yandex.ru", "", "http://www."), |
| + TestCase("ftp://www.yandex.ru", "", "ftp://www."), |
| + TestCase("https://yandex.ru", "", "https://"), |
| + TestCase("http://yandex.ru", "", "http://"), |
| + TestCase("ftp://yandex.ru", "", "ftp://"), |
| + // Mixed case test cases with empty prefix suffix. |
|
Peter Kasting
2016/04/23 19:51:30
Nit: Blank line above this, as well as the two com
Alexander Yashkin
2016/04/24 07:18:50
Done.
|
| + TestCase("HTTPS://www.yandex.ru", "", "https://www."), |
| + TestCase("http://WWW.yandex.ru", "", "http://www."), |
| + // Cases with non empty prefix suffix. |
| + TestCase("http://www.yandex.ru", "yan", "http://www."), |
| + TestCase("https://www.yandex.ru", "YaN", "https://www."), |
| + // Prefix suffix does not match. |
| + TestCase("https://www.yandex.ru", "index", ""), |
| + }; |
| + |
| + for (const TestCase& test_case : test_cases) { |
| + const URLPrefix* prefix = |
| + URLPrefix::BestURLPrefix(test_case.text, test_case.prefix_suffix); |
| + if (test_case.expected_prefix.empty()) { |
| + EXPECT_FALSE(prefix); |
| + } else { |
| + ASSERT_TRUE(prefix); |
| + EXPECT_EQ(test_case.expected_prefix, prefix->prefix); |
| + } |
| + } |
| +} |