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..9ce3b13e140d7790f9d7f1a9a93c879adde2d04a |
| --- /dev/null |
| +++ b/components/omnibox/browser/url_prefix_unittest.cc |
| @@ -0,0 +1,54 @@ |
| +// 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) { |
| + TestCase test_cases[] = { |
|
Peter Kasting
2016/04/23 00:31:01
Nit: const
Alexander Yashkin
2016/04/23 08:40:20
Done.
|
| + // 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. |
| + 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 (size_t i = 0; i < arraysize(test_cases); i++) { |
|
Peter Kasting
2016/04/23 00:31:02
Nit: Use a range-based for loop
Alexander Yashkin
2016/04/23 08:40:20
Done.
|
| + TestCase& test_case = test_cases[i]; |
|
Peter Kasting
2016/04/23 00:31:02
Nit: const
Alexander Yashkin
2016/04/23 08:40:20
Done.
|
| + const URLPrefix* prefix = |
| + URLPrefix::BestURLPrefix(test_case.text, test_case.prefix_suffix); |
| + if (!test_case.expected_prefix.empty()) { |
|
Peter Kasting
2016/04/23 00:31:02
Nit: Remove ! and reverse arms (so "else" case doe
Alexander Yashkin
2016/04/23 08:40:20
Done.
|
| + ASSERT_TRUE(prefix); |
| + EXPECT_EQ(test_case.expected_prefix, prefix->prefix); |
| + } else { |
| + ASSERT_FALSE(prefix); |
|
Peter Kasting
2016/04/23 00:31:01
Nit: Can be EXPECT
Alexander Yashkin
2016/04/23 08:40:20
Done.
|
| + } |
| + } |
| +} |