Commit 026f8c2e authored by Maggie Cai's avatar Maggie Cai Committed by Commit Bot

[IntentHandling] Add unittest to test intent filter overlap.

This CL adds one unit test to test when there is overlap of intent
filter stored in the preferred app.

BUG=853604

Change-Id: Icb1e27f03445243940865627830ef98381dd0cdc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2109390Reviewed-by: default avatarDominick Ng <dominickn@chromium.org>
Commit-Queue: Maggie Cai <mxcai@chromium.org>
Cr-Commit-Position: refs/heads/master@{#752651}
parent 615be37d
......@@ -187,3 +187,33 @@ TEST_F(PreferredAppListTest, OverwritePreferredApp) {
EXPECT_EQ(kAppId2, preferred_apps_.FindPreferredAppForUrl(filter_url));
}
// Test that when overlap happens, the previous setting will be removed.
TEST_F(PreferredAppListTest, OverlapPreferredApp) {
GURL filter_url_1 = GURL("https://www.google.com/abc");
GURL filter_url_2 = GURL("http://www.google.com.au/abc");
auto intent_filter_1 = apps_util::CreateIntentFilterForUrlScope(filter_url_1);
intent_filter_1->conditions[0]->condition_values.push_back(
apps_util::MakeConditionValue(filter_url_2.scheme(),
apps::mojom::PatternMatchType::kNone));
intent_filter_1->conditions[1]->condition_values.push_back(
apps_util::MakeConditionValue(filter_url_2.host(),
apps::mojom::PatternMatchType::kNone));
preferred_apps_.AddPreferredApp(kAppId1, intent_filter_1);
EXPECT_EQ(kAppId1, preferred_apps_.FindPreferredAppForUrl(filter_url_1));
EXPECT_EQ(kAppId1, preferred_apps_.FindPreferredAppForUrl(filter_url_2));
GURL filter_url_3 = GURL("https://www.abc.com/abc");
auto intent_filter_2 = apps_util::CreateIntentFilterForUrlScope(filter_url_3);
intent_filter_2->conditions[0]->condition_values.push_back(
apps_util::MakeConditionValue(filter_url_2.scheme(),
apps::mojom::PatternMatchType::kNone));
intent_filter_2->conditions[1]->condition_values.push_back(
apps_util::MakeConditionValue(filter_url_2.host(),
apps::mojom::PatternMatchType::kNone));
preferred_apps_.AddPreferredApp(kAppId2, intent_filter_2);
EXPECT_EQ(base::nullopt,
preferred_apps_.FindPreferredAppForUrl(filter_url_1));
EXPECT_EQ(kAppId2, preferred_apps_.FindPreferredAppForUrl(filter_url_2));
EXPECT_EQ(kAppId2, preferred_apps_.FindPreferredAppForUrl(filter_url_3));
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment