| Index: webkit/dom_storage/session_storage_database_unittest.cc
|
| diff --git a/webkit/dom_storage/session_storage_database_unittest.cc b/webkit/dom_storage/session_storage_database_unittest.cc
|
| index 44c62b50d606a1284beef5f5443379b9b1c270c3..936873bec0026bb96e7a8963221d02146f48b431 100644
|
| --- a/webkit/dom_storage/session_storage_database_unittest.cc
|
| +++ b/webkit/dom_storage/session_storage_database_unittest.cc
|
| @@ -83,7 +83,7 @@ class SessionStorageDatabaseTest : public testing::Test {
|
| SessionStorageDatabaseTest::SessionStorageDatabaseTest()
|
| : kOrigin1("http://www.origin1.com"),
|
| kOrigin2("http://www.origin2.com"),
|
| - kNamespace1("1"),
|
| + kNamespace1("namespace1"),
|
| kNamespace2("namespace2"),
|
| kNamespaceClone("wascloned"),
|
| kKey1(ASCIIToUTF16("key1")),
|
| @@ -213,6 +213,7 @@ void SessionStorageDatabaseTest::CheckDatabaseConsistency() const {
|
|
|
| // Iterate the "namespace-" keys.
|
| std::set<std::string> found_namespace_ids;
|
| + std::set<std::string> namespaces_with_areas;
|
| std::map<int64, int64> expected_map_refcounts;
|
| int64 max_map_id = -1;
|
|
|
| @@ -228,6 +229,7 @@ void SessionStorageDatabaseTest::CheckDatabaseConsistency() const {
|
| // has been read by now, since the keys are stored in order.
|
| ASSERT_TRUE(found_namespace_ids.find(namespace_id) !=
|
| found_namespace_ids.end());
|
| + namespaces_with_areas.insert(namespace_id);
|
| int64 map_id;
|
| bool conversion_ok = base::StringToInt64(it->second, &map_id);
|
| ASSERT_TRUE(conversion_ok);
|
| @@ -237,6 +239,10 @@ void SessionStorageDatabaseTest::CheckDatabaseConsistency() const {
|
| ++valid_keys;
|
| }
|
| }
|
| + // Check that there are no leftover "namespace-namespaceid-" keys without
|
| + // associated areas.
|
| + ASSERT_EQ(found_namespace_ids.size(), namespaces_with_areas.size());
|
| +
|
| if (max_map_id != -1) {
|
| // The database contains maps.
|
| ASSERT_TRUE(data.find(next_map_id_key) != data.end());
|
| @@ -773,4 +779,20 @@ TEST_F(SessionStorageDatabaseTest, ReadOriginsInNamespace) {
|
| CheckDatabaseConsistency();
|
| }
|
|
|
| +TEST_F(SessionStorageDatabaseTest, DeleteAllOrigins) {
|
| + // Write data for a namespace, for 2 origins.
|
| + ValuesMap data1;
|
| + data1[kKey1] = kValue1;
|
| + ASSERT_TRUE(db_->CommitAreaChanges(kNamespace1, kOrigin1, false, data1));
|
| + ValuesMap data2;
|
| + data2[kKey1] = kValue2;
|
| + ASSERT_TRUE(db_->CommitAreaChanges(kNamespace1, kOrigin2, false, data2));
|
| +
|
| + EXPECT_TRUE(db_->DeleteArea(kNamespace1, kOrigin1));
|
| + EXPECT_TRUE(db_->DeleteArea(kNamespace1, kOrigin2));
|
| + // Check that also the namespace start key was deleted.
|
| + CheckDatabaseConsistency();
|
| +}
|
| +
|
| +
|
| } // namespace dom_storage
|
|
|