Index: chrome/browser/policy/schema_registry_unittest.cc |
diff --git a/chrome/browser/policy/schema_registry_unittest.cc b/chrome/browser/policy/schema_registry_unittest.cc |
index 62bed9e6b490e9c6c66f7773c7c80d123b4b6a87..acff85c10bbf4cae021665e3da453bec8f1979b0 100644 |
--- a/chrome/browser/policy/schema_registry_unittest.cc |
+++ b/chrome/browser/policy/schema_registry_unittest.cc |
@@ -45,6 +45,7 @@ class MockSchemaRegistryObserver : public SchemaRegistry::Observer { |
virtual ~MockSchemaRegistryObserver() {} |
MOCK_METHOD1(OnSchemaRegistryUpdated, void(bool)); |
+ MOCK_METHOD0(OnSchemaRegistryReady, void()); |
}; |
} // namespace |
@@ -100,6 +101,33 @@ TEST(SchemaRegistryTest, Notifications) { |
EXPECT_FALSE(registry.HasObservers()); |
} |
+TEST(SchemaRegistryTest, IsReady) { |
+ SchemaRegistry registry; |
+ MockSchemaRegistryObserver observer; |
+ registry.AddObserver(&observer); |
+ |
+ EXPECT_FALSE(registry.IsReady()); |
+#if defined(ENABLE_EXTENSIONS) |
+ EXPECT_CALL(observer, OnSchemaRegistryReady()).Times(0); |
+ registry.SetReady(POLICY_DOMAIN_EXTENSIONS); |
+ Mock::VerifyAndClearExpectations(&observer); |
+ EXPECT_FALSE(registry.IsReady()); |
+#endif |
+ EXPECT_CALL(observer, OnSchemaRegistryReady()); |
+ registry.SetReady(POLICY_DOMAIN_CHROME); |
+ Mock::VerifyAndClearExpectations(&observer); |
+ EXPECT_TRUE(registry.IsReady()); |
+ EXPECT_CALL(observer, OnSchemaRegistryReady()).Times(0); |
+ registry.SetReady(POLICY_DOMAIN_CHROME); |
+ Mock::VerifyAndClearExpectations(&observer); |
+ EXPECT_TRUE(registry.IsReady()); |
+ |
+ CombinedSchemaRegistry combined; |
+ EXPECT_TRUE(combined.IsReady()); |
+ |
+ registry.RemoveObserver(&observer); |
+} |
+ |
TEST(SchemaRegistryTest, Combined) { |
std::string error; |
Schema schema = Schema::Parse(kTestSchema, &error); |