OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "extensions/browser/api/declarative/rules_registry.h" | 5 #include "extensions/browser/api/declarative/rules_registry.h" |
6 | 6 |
7 // Here we test the TestRulesRegistry which is the simplest possible | 7 // Here we test the TestRulesRegistry which is the simplest possible |
8 // implementation of RulesRegistryWithCache as a proxy for | 8 // implementation of RulesRegistryWithCache as a proxy for |
9 // RulesRegistryWithCache. | 9 // RulesRegistryWithCache. |
10 | 10 |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 extension2_ = env_.MakeExtension(manifest_extra); | 64 extension2_ = env_.MakeExtension(manifest_extra); |
65 CHECK(extension2_.get()); | 65 CHECK(extension2_.get()); |
66 CHECK_NE(extension2_->id(), extension1_->id()); | 66 CHECK_NE(extension2_->id(), extension1_->id()); |
67 } | 67 } |
68 | 68 |
69 ~RulesRegistryWithCacheTest() override {} | 69 ~RulesRegistryWithCacheTest() override {} |
70 | 70 |
71 std::string AddRule(const std::string& extension_id, | 71 std::string AddRule(const std::string& extension_id, |
72 const std::string& rule_id, | 72 const std::string& rule_id, |
73 TestRulesRegistry* registry) { | 73 TestRulesRegistry* registry) { |
74 std::vector<linked_ptr<core_api::events::Rule>> add_rules; | 74 std::vector<linked_ptr<api::events::Rule>> add_rules; |
75 add_rules.push_back(make_linked_ptr(new core_api::events::Rule)); | 75 add_rules.push_back(make_linked_ptr(new api::events::Rule)); |
76 add_rules[0]->id.reset(new std::string(rule_id)); | 76 add_rules[0]->id.reset(new std::string(rule_id)); |
77 return registry->AddRules(extension_id, add_rules); | 77 return registry->AddRules(extension_id, add_rules); |
78 } | 78 } |
79 | 79 |
80 std::string AddRule(const std::string& extension_id, | 80 std::string AddRule(const std::string& extension_id, |
81 const std::string& rule_id) { | 81 const std::string& rule_id) { |
82 return AddRule(extension_id, rule_id, registry_.get()); | 82 return AddRule(extension_id, rule_id, registry_.get()); |
83 } | 83 } |
84 | 84 |
85 std::string RemoveRule(const std::string& extension_id, | 85 std::string RemoveRule(const std::string& extension_id, |
86 const std::string& rule_id) { | 86 const std::string& rule_id) { |
87 std::vector<std::string> remove_rules; | 87 std::vector<std::string> remove_rules; |
88 remove_rules.push_back(rule_id); | 88 remove_rules.push_back(rule_id); |
89 return registry_->RemoveRules(extension_id, remove_rules); | 89 return registry_->RemoveRules(extension_id, remove_rules); |
90 } | 90 } |
91 | 91 |
92 int GetNumberOfRules(const std::string& extension_id, | 92 int GetNumberOfRules(const std::string& extension_id, |
93 TestRulesRegistry* registry) { | 93 TestRulesRegistry* registry) { |
94 std::vector<linked_ptr<core_api::events::Rule>> get_rules; | 94 std::vector<linked_ptr<api::events::Rule>> get_rules; |
95 registry->GetAllRules(extension_id, &get_rules); | 95 registry->GetAllRules(extension_id, &get_rules); |
96 return get_rules.size(); | 96 return get_rules.size(); |
97 } | 97 } |
98 | 98 |
99 int GetNumberOfRules(const std::string& extension_id) { | 99 int GetNumberOfRules(const std::string& extension_id) { |
100 return GetNumberOfRules(extension_id, registry_.get()); | 100 return GetNumberOfRules(extension_id, registry_.get()); |
101 } | 101 } |
102 | 102 |
103 TestingProfile* profile() const { return env_.profile(); } | 103 TestingProfile* profile() const { return env_.profile(); } |
104 | 104 |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
180 TEST_F(RulesRegistryWithCacheTest, GetRules) { | 180 TEST_F(RulesRegistryWithCacheTest, GetRules) { |
181 // Prime registry. | 181 // Prime registry. |
182 EXPECT_EQ("", AddRule(extension1_->id(), kRuleId)); | 182 EXPECT_EQ("", AddRule(extension1_->id(), kRuleId)); |
183 EXPECT_EQ("", AddRule(extension1_->id(), kRule2Id)); | 183 EXPECT_EQ("", AddRule(extension1_->id(), kRule2Id)); |
184 EXPECT_EQ("", AddRule(extension2_->id(), kRuleId)); | 184 EXPECT_EQ("", AddRule(extension2_->id(), kRuleId)); |
185 | 185 |
186 // Check that we get the correct rule and unknown rules are ignored. | 186 // Check that we get the correct rule and unknown rules are ignored. |
187 std::vector<std::string> rules_to_get; | 187 std::vector<std::string> rules_to_get; |
188 rules_to_get.push_back(kRuleId); | 188 rules_to_get.push_back(kRuleId); |
189 rules_to_get.push_back("unknown_rule"); | 189 rules_to_get.push_back("unknown_rule"); |
190 std::vector<linked_ptr<core_api::events::Rule>> gotten_rules; | 190 std::vector<linked_ptr<api::events::Rule>> gotten_rules; |
191 registry_->GetRules(extension1_->id(), rules_to_get, &gotten_rules); | 191 registry_->GetRules(extension1_->id(), rules_to_get, &gotten_rules); |
192 ASSERT_EQ(1u, gotten_rules.size()); | 192 ASSERT_EQ(1u, gotten_rules.size()); |
193 ASSERT_TRUE(gotten_rules[0]->id.get()); | 193 ASSERT_TRUE(gotten_rules[0]->id.get()); |
194 EXPECT_EQ(kRuleId, *(gotten_rules[0]->id)); | 194 EXPECT_EQ(kRuleId, *(gotten_rules[0]->id)); |
195 } | 195 } |
196 | 196 |
197 TEST_F(RulesRegistryWithCacheTest, GetAllRules) { | 197 TEST_F(RulesRegistryWithCacheTest, GetAllRules) { |
198 // Prime registry. | 198 // Prime registry. |
199 EXPECT_EQ("", AddRule(extension1_->id(), kRuleId)); | 199 EXPECT_EQ("", AddRule(extension1_->id(), kRuleId)); |
200 EXPECT_EQ("", AddRule(extension1_->id(), kRule2Id)); | 200 EXPECT_EQ("", AddRule(extension1_->id(), kRule2Id)); |
201 EXPECT_EQ("", AddRule(extension2_->id(), kRuleId)); | 201 EXPECT_EQ("", AddRule(extension2_->id(), kRuleId)); |
202 | 202 |
203 // Check that we get the correct rules. | 203 // Check that we get the correct rules. |
204 std::vector<linked_ptr<core_api::events::Rule>> gotten_rules; | 204 std::vector<linked_ptr<api::events::Rule>> gotten_rules; |
205 registry_->GetAllRules(extension1_->id(), &gotten_rules); | 205 registry_->GetAllRules(extension1_->id(), &gotten_rules); |
206 EXPECT_EQ(2u, gotten_rules.size()); | 206 EXPECT_EQ(2u, gotten_rules.size()); |
207 ASSERT_TRUE(gotten_rules[0]->id.get()); | 207 ASSERT_TRUE(gotten_rules[0]->id.get()); |
208 ASSERT_TRUE(gotten_rules[1]->id.get()); | 208 ASSERT_TRUE(gotten_rules[1]->id.get()); |
209 EXPECT_TRUE( (kRuleId == *(gotten_rules[0]->id) && | 209 EXPECT_TRUE( (kRuleId == *(gotten_rules[0]->id) && |
210 kRule2Id == *(gotten_rules[1]->id)) || | 210 kRule2Id == *(gotten_rules[1]->id)) || |
211 (kRuleId == *(gotten_rules[1]->id) && | 211 (kRuleId == *(gotten_rules[1]->id) && |
212 kRule2Id == *(gotten_rules[0]->id)) ); | 212 kRule2Id == *(gotten_rules[0]->id)) ); |
213 } | 213 } |
214 | 214 |
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
381 | 381 |
382 int write_count = store->write_count(); | 382 int write_count = store->write_count(); |
383 EXPECT_EQ("", AddRule(extension1_->id(), kRuleId)); | 383 EXPECT_EQ("", AddRule(extension1_->id(), kRuleId)); |
384 EXPECT_EQ("", AddRule(extension2_->id(), kRule2Id)); | 384 EXPECT_EQ("", AddRule(extension2_->id(), kRule2Id)); |
385 env_.GetExtensionSystem()->SetReady(); | 385 env_.GetExtensionSystem()->SetReady(); |
386 base::RunLoop().RunUntilIdle(); | 386 base::RunLoop().RunUntilIdle(); |
387 EXPECT_EQ(write_count + 2, store->write_count()); | 387 EXPECT_EQ(write_count + 2, store->write_count()); |
388 } | 388 } |
389 | 389 |
390 } // namespace extensions | 390 } // namespace extensions |
OLD | NEW |