Chromium Code Reviews| 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 "chrome/browser/extensions/api/declarative/rules_registry_service.h" | 5 #include "chrome/browser/extensions/api/declarative/rules_registry_service.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
| 9 #include "chrome/browser/extensions/api/declarative/test_rules_registry.h" | 9 #include "chrome/browser/extensions/api/declarative/test_rules_registry.h" |
| 10 #include "content/public/test/test_browser_thread.h" | 10 #include "content/public/test/test_browser_thread.h" |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 58 | 58 |
| 59 TestRulesRegistry* io_registry = | 59 TestRulesRegistry* io_registry = |
| 60 new TestRulesRegistry(content::BrowserThread::IO, "io"); | 60 new TestRulesRegistry(content::BrowserThread::IO, "io"); |
| 61 | 61 |
| 62 // Test registration. | 62 // Test registration. |
| 63 | 63 |
| 64 RulesRegistryService registry_service(NULL); | 64 RulesRegistryService registry_service(NULL); |
| 65 registry_service.RegisterRulesRegistry(make_scoped_refptr(ui_registry)); | 65 registry_service.RegisterRulesRegistry(make_scoped_refptr(ui_registry)); |
| 66 registry_service.RegisterRulesRegistry(make_scoped_refptr(io_registry)); | 66 registry_service.RegisterRulesRegistry(make_scoped_refptr(io_registry)); |
| 67 | 67 |
| 68 EXPECT_TRUE(registry_service.GetRulesRegistry("ui").get()); | 68 const RulesRegistry::WebViewKey key(0, 0); |
|
vabr (Chromium)
2013/10/25 20:40:24
I think we also need to test adding and removing r
Fady Samuel
2013/10/25 22:48:08
Agreed, but I'm not sure how to do that in a unit
| |
| 69 EXPECT_TRUE(registry_service.GetRulesRegistry("io").get()); | 69 EXPECT_TRUE(registry_service.GetRulesRegistry(key, "ui").get()); |
| 70 EXPECT_FALSE(registry_service.GetRulesRegistry("foo").get()); | 70 EXPECT_TRUE(registry_service.GetRulesRegistry(key, "io").get()); |
| 71 EXPECT_FALSE(registry_service.GetRulesRegistry(key, "foo").get()); | |
| 71 | 72 |
| 72 content::BrowserThread::PostTask( | 73 content::BrowserThread::PostTask( |
| 73 content::BrowserThread::UI, FROM_HERE, | 74 content::BrowserThread::UI, FROM_HERE, |
| 74 base::Bind(&InsertRule, registry_service.GetRulesRegistry("ui"), | 75 base::Bind(&InsertRule, registry_service.GetRulesRegistry(key, "ui"), |
| 75 "ui_task")); | 76 "ui_task")); |
| 76 | 77 |
| 77 content::BrowserThread::PostTask( | 78 content::BrowserThread::PostTask( |
| 78 content::BrowserThread::IO, FROM_HERE, | 79 content::BrowserThread::IO, FROM_HERE, |
| 79 base::Bind(&InsertRule, registry_service.GetRulesRegistry("io"), | 80 base::Bind(&InsertRule, registry_service.GetRulesRegistry(key, "io"), |
| 80 "io_task")); | 81 "io_task")); |
| 81 | 82 |
| 82 content::BrowserThread::PostTask( | 83 content::BrowserThread::PostTask( |
| 83 content::BrowserThread::UI, FROM_HERE, | 84 content::BrowserThread::UI, FROM_HERE, |
| 84 base::Bind(&VerifyNumberOfRules, | 85 base::Bind(&VerifyNumberOfRules, |
| 85 registry_service.GetRulesRegistry("ui"), 1)); | 86 registry_service.GetRulesRegistry(key, "ui"), 1)); |
| 86 | 87 |
| 87 content::BrowserThread::PostTask( | 88 content::BrowserThread::PostTask( |
| 88 content::BrowserThread::IO, FROM_HERE, | 89 content::BrowserThread::IO, FROM_HERE, |
| 89 base::Bind(&VerifyNumberOfRules, | 90 base::Bind(&VerifyNumberOfRules, |
| 90 registry_service.GetRulesRegistry("io"), 1)); | 91 registry_service.GetRulesRegistry(key, "io"), 1)); |
| 91 | 92 |
| 92 message_loop_.RunUntilIdle(); | 93 message_loop_.RunUntilIdle(); |
| 93 | 94 |
| 94 // Test extension unloading. | 95 // Test extension unloading. |
| 95 | 96 |
| 96 registry_service.SimulateExtensionUnloaded(kExtensionId); | 97 registry_service.SimulateExtensionUnloaded(kExtensionId); |
| 97 | 98 |
| 98 content::BrowserThread::PostTask( | 99 content::BrowserThread::PostTask( |
| 99 content::BrowserThread::UI, FROM_HERE, | 100 content::BrowserThread::UI, FROM_HERE, |
| 100 base::Bind(&VerifyNumberOfRules, | 101 base::Bind(&VerifyNumberOfRules, |
| 101 registry_service.GetRulesRegistry("ui"), 0)); | 102 registry_service.GetRulesRegistry(key, "ui"), 0)); |
| 102 | 103 |
| 103 content::BrowserThread::PostTask( | 104 content::BrowserThread::PostTask( |
| 104 content::BrowserThread::IO, FROM_HERE, | 105 content::BrowserThread::IO, FROM_HERE, |
| 105 base::Bind(&VerifyNumberOfRules, | 106 base::Bind(&VerifyNumberOfRules, |
| 106 registry_service.GetRulesRegistry("io"), 0)); | 107 registry_service.GetRulesRegistry(key, "io"), 0)); |
| 107 | 108 |
| 108 message_loop_.RunUntilIdle(); | 109 message_loop_.RunUntilIdle(); |
| 109 } | 110 } |
| 110 | 111 |
|
vabr (Chromium)
2013/10/25 20:40:24
Could you also please test that GetContentRulesReg
| |
| 111 } // namespace extensions | 112 } // namespace extensions |
| OLD | NEW |