Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4204)

Unified Diff: chrome/common/extensions/event_filter_unittest.cc

Issue 10534125: Extend EventFilter to handle the case where EventMatchers from event X get (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: rebase Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/common/extensions/event_filter.cc ('k') | chrome/common/extensions/event_filtering_info.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/common/extensions/event_filter_unittest.cc
diff --git a/chrome/common/extensions/event_filter_unittest.cc b/chrome/common/extensions/event_filter_unittest.cc
index d1ca5a09b700861c9830455bbe4b1f5830666a9d..a4ac8ee19646b9ad6bd92593538f496ebbbb34b3 100644
--- a/chrome/common/extensions/event_filter_unittest.cc
+++ b/chrome/common/extensions/event_filter_unittest.cc
@@ -34,16 +34,19 @@ class EventFilterUnittest : public testing::Test {
}
scoped_ptr<EventMatcher> AllURLs() {
- scoped_ptr<EventMatcher> matcher(new EventMatcher());
- // An empty set of URL filters always matches.
- matcher->set_url_filters(scoped_ptr<ListValue>(new ListValue()));
- return matcher.Pass();
+ return scoped_ptr<EventMatcher>(new EventMatcher(
+ scoped_ptr<DictionaryValue>(new DictionaryValue)));
}
scoped_ptr<EventMatcher> HostSuffixMatcher(const std::string& host_suffix) {
- scoped_ptr<EventMatcher> event_matcher(new EventMatcher());
- event_matcher->set_url_filters(ValueAsList(HostSuffixDict(host_suffix)));
- return event_matcher.Pass();
+ return MatcherFromURLFilterList(ValueAsList(HostSuffixDict(host_suffix)));
+ }
+
+ scoped_ptr<EventMatcher> MatcherFromURLFilterList(
+ scoped_ptr<ListValue> url_filter_list) {
+ scoped_ptr<DictionaryValue> filter_dict(new DictionaryValue);
+ filter_dict->Set("url", url_filter_list.release());
+ return scoped_ptr<EventMatcher>(new EventMatcher(filter_dict.Pass()));
}
EventFilter event_filter_;
@@ -121,8 +124,7 @@ TEST_F(EventFilterUnittest, TestMultipleURLFiltersMatchOnAny) {
filters->Append(HostSuffixDict("google.com").release());
filters->Append(HostSuffixDict("yahoo.com").release());
- scoped_ptr<EventMatcher> matcher(new EventMatcher());
- matcher->set_url_filters(filters.Pass());
+ scoped_ptr<EventMatcher> matcher(MatcherFromURLFilterList(filters.Pass()));
int id = event_filter_.AddEventMatcher("event1", matcher.Pass());
{
@@ -157,6 +159,18 @@ TEST_F(EventFilterUnittest, TestStillMatchesAfterRemoval) {
}
}
+TEST_F(EventFilterUnittest, TestMatchesOnlyAgainstPatternsForCorrectEvent) {
+ int id1 = event_filter_.AddEventMatcher("event1", AllURLs());
+ event_filter_.AddEventMatcher("event2", AllURLs());
+
+ {
+ std::set<int> matches = event_filter_.MatchEvent("event1",
+ google_event_);
+ ASSERT_EQ(1u, matches.size());
+ ASSERT_EQ(1u, matches.count(id1));
+ }
+}
+
TEST_F(EventFilterUnittest, TestGetMatcherCountForEvent) {
ASSERT_EQ(0, event_filter_.GetMatcherCountForEvent("event1"));
int id1 = event_filter_.AddEventMatcher("event1", AllURLs());
@@ -182,8 +196,8 @@ TEST_F(EventFilterUnittest, RemoveEventMatcherReturnsEventName) {
TEST_F(EventFilterUnittest, InvalidURLFilterCantBeAdded) {
scoped_ptr<base::ListValue> filter_list(new base::ListValue());
filter_list->Append(new base::ListValue()); // Should be a dict.
- scoped_ptr<EventMatcher> matcher(new EventMatcher);
- matcher->set_url_filters(filter_list.Pass());
+ scoped_ptr<EventMatcher> matcher(MatcherFromURLFilterList(
+ filter_list.Pass()));
int id1 = event_filter_.AddEventMatcher("event1", matcher.Pass());
EXPECT_TRUE(event_filter_.IsURLMatcherEmpty());
ASSERT_EQ(-1, id1);
@@ -191,8 +205,8 @@ TEST_F(EventFilterUnittest, InvalidURLFilterCantBeAdded) {
TEST_F(EventFilterUnittest, EmptyListOfURLFiltersMatchesAllURLs) {
scoped_ptr<base::ListValue> filter_list(new base::ListValue());
- scoped_ptr<EventMatcher> matcher(new EventMatcher);
- matcher->set_url_filters(filter_list.Pass());
+ scoped_ptr<EventMatcher> matcher(MatcherFromURLFilterList(
+ scoped_ptr<ListValue>(new ListValue)));
int id = event_filter_.AddEventMatcher("event1", matcher.Pass());
std::set<int> matches = event_filter_.MatchEvent("event1",
google_event_);
@@ -219,9 +233,8 @@ TEST_F(EventFilterUnittest, EmptyURLsShouldBeMatchedByEmptyURLFilters) {
TEST_F(EventFilterUnittest,
EmptyURLsShouldBeMatchedByEmptyURLFiltersWithAnEmptyItem) {
- scoped_ptr<EventMatcher> matcher(new EventMatcher());
- matcher->set_url_filters(ValueAsList(scoped_ptr<Value>(
- new DictionaryValue())));
+ scoped_ptr<EventMatcher> matcher(MatcherFromURLFilterList(ValueAsList(
+ scoped_ptr<Value>(new DictionaryValue()))));
int id = event_filter_.AddEventMatcher("event1", matcher.Pass());
std::set<int> matches = event_filter_.MatchEvent("event1", empty_url_event_);
ASSERT_EQ(1u, matches.size());
« no previous file with comments | « chrome/common/extensions/event_filter.cc ('k') | chrome/common/extensions/event_filtering_info.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698