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 | 5 |
6 #include "webkit/browser/dom_storage/session_storage_database.h" | 6 #include "webkit/browser/dom_storage/session_storage_database.h" |
7 | 7 |
8 #include <algorithm> | 8 #include <algorithm> |
9 #include <map> | 9 #include <map> |
10 #include <string> | 10 #include <string> |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 | 64 |
65 // Test data. | 65 // Test data. |
66 const GURL kOrigin1; | 66 const GURL kOrigin1; |
67 const GURL kOrigin2; | 67 const GURL kOrigin2; |
68 const std::string kNamespace1; | 68 const std::string kNamespace1; |
69 const std::string kNamespace2; | 69 const std::string kNamespace2; |
70 const std::string kNamespaceClone; | 70 const std::string kNamespaceClone; |
71 const base::string16 kKey1; | 71 const base::string16 kKey1; |
72 const base::string16 kKey2; | 72 const base::string16 kKey2; |
73 const base::string16 kKey3; | 73 const base::string16 kKey3; |
74 const NullableString16 kValue1; | 74 const base::NullableString16 kValue1; |
75 const NullableString16 kValue2; | 75 const base::NullableString16 kValue2; |
76 const NullableString16 kValue3; | 76 const base::NullableString16 kValue3; |
77 const NullableString16 kValue4; | 77 const base::NullableString16 kValue4; |
78 const NullableString16 kValueNull; | 78 const base::NullableString16 kValueNull; |
79 | 79 |
80 DISALLOW_COPY_AND_ASSIGN(SessionStorageDatabaseTest); | 80 DISALLOW_COPY_AND_ASSIGN(SessionStorageDatabaseTest); |
81 }; | 81 }; |
82 | 82 |
83 SessionStorageDatabaseTest::SessionStorageDatabaseTest() | 83 SessionStorageDatabaseTest::SessionStorageDatabaseTest() |
84 : kOrigin1("http://www.origin1.com"), | 84 : kOrigin1("http://www.origin1.com"), |
85 kOrigin2("http://www.origin2.com"), | 85 kOrigin2("http://www.origin2.com"), |
86 kNamespace1("namespace1"), | 86 kNamespace1("namespace1"), |
87 kNamespace2("namespace2"), | 87 kNamespace2("namespace2"), |
88 kNamespaceClone("wascloned"), | 88 kNamespaceClone("wascloned"), |
89 kKey1(ASCIIToUTF16("key1")), | 89 kKey1(ASCIIToUTF16("key1")), |
90 kKey2(ASCIIToUTF16("key2")), | 90 kKey2(ASCIIToUTF16("key2")), |
91 kKey3(ASCIIToUTF16("key3")), | 91 kKey3(ASCIIToUTF16("key3")), |
92 kValue1(NullableString16(ASCIIToUTF16("value1"), false)), | 92 kValue1(base::NullableString16(ASCIIToUTF16("value1"), false)), |
93 kValue2(NullableString16(ASCIIToUTF16("value2"), false)), | 93 kValue2(base::NullableString16(ASCIIToUTF16("value2"), false)), |
94 kValue3(NullableString16(ASCIIToUTF16("value3"), false)), | 94 kValue3(base::NullableString16(ASCIIToUTF16("value3"), false)), |
95 kValue4(NullableString16(ASCIIToUTF16("value4"), false)), | 95 kValue4(base::NullableString16(ASCIIToUTF16("value4"), false)), |
96 kValueNull(NullableString16(true)) { } | 96 kValueNull(base::NullableString16(true)) { } |
97 | 97 |
98 SessionStorageDatabaseTest::~SessionStorageDatabaseTest() { } | 98 SessionStorageDatabaseTest::~SessionStorageDatabaseTest() { } |
99 | 99 |
100 void SessionStorageDatabaseTest::SetUp() { | 100 void SessionStorageDatabaseTest::SetUp() { |
101 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); | 101 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); |
102 ResetDatabase(); | 102 ResetDatabase(); |
103 } | 103 } |
104 | 104 |
105 void SessionStorageDatabaseTest::ResetDatabase() { | 105 void SessionStorageDatabaseTest::ResetDatabase() { |
106 db_ = new SessionStorageDatabase(temp_dir_.path()); | 106 db_ = new SessionStorageDatabase(temp_dir_.path()); |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
323 CompareValuesMaps(values, reference); | 323 CompareValuesMaps(values, reference); |
324 } | 324 } |
325 | 325 |
326 void SessionStorageDatabaseTest::CompareValuesMaps( | 326 void SessionStorageDatabaseTest::CompareValuesMaps( |
327 const ValuesMap& map1, | 327 const ValuesMap& map1, |
328 const ValuesMap& map2) const { | 328 const ValuesMap& map2) const { |
329 ASSERT_EQ(map2.size(), map1.size()); | 329 ASSERT_EQ(map2.size(), map1.size()); |
330 for (ValuesMap::const_iterator it = map1.begin(); it != map1.end(); ++it) { | 330 for (ValuesMap::const_iterator it = map1.begin(); it != map1.end(); ++it) { |
331 base::string16 key = it->first; | 331 base::string16 key = it->first; |
332 ASSERT_TRUE(map2.find(key) != map2.end()); | 332 ASSERT_TRUE(map2.find(key) != map2.end()); |
333 NullableString16 val1 = it->second; | 333 base::NullableString16 val1 = it->second; |
334 NullableString16 val2 = map2.find(key)->second; | 334 base::NullableString16 val2 = map2.find(key)->second; |
335 EXPECT_EQ(val2.is_null(), val1.is_null()); | 335 EXPECT_EQ(val2.is_null(), val1.is_null()); |
336 EXPECT_EQ(val2.string(), val1.string()); | 336 EXPECT_EQ(val2.string(), val1.string()); |
337 } | 337 } |
338 } | 338 } |
339 | 339 |
340 void SessionStorageDatabaseTest::CheckNamespaceIds( | 340 void SessionStorageDatabaseTest::CheckNamespaceIds( |
341 const std::set<std::string>& expected_namespace_ids) const { | 341 const std::set<std::string>& expected_namespace_ids) const { |
342 std::map<std::string, std::vector<GURL> > namespaces_and_origins; | 342 std::map<std::string, std::vector<GURL> > namespaces_and_origins; |
343 EXPECT_TRUE(db_->ReadNamespacesAndOrigins(&namespaces_and_origins)); | 343 EXPECT_TRUE(db_->ReadNamespacesAndOrigins(&namespaces_and_origins)); |
344 EXPECT_EQ(expected_namespace_ids.size(), namespaces_and_origins.size()); | 344 EXPECT_EQ(expected_namespace_ids.size(), namespaces_and_origins.size()); |
(...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
693 CheckAreaData(kNamespaceClone, kOrigin1, data1); | 693 CheckAreaData(kNamespaceClone, kOrigin1, data1); |
694 CheckAreaData(kNamespaceClone, kOrigin2, data2); | 694 CheckAreaData(kNamespaceClone, kOrigin2, data2); |
695 } | 695 } |
696 | 696 |
697 TEST_F(SessionStorageDatabaseTest, WriteRawBytes) { | 697 TEST_F(SessionStorageDatabaseTest, WriteRawBytes) { |
698 // Write data which is not valid utf8 and contains null bytes. | 698 // Write data which is not valid utf8 and contains null bytes. |
699 unsigned char raw_data[10] = {255, 0, 0, 0, 1, 2, 3, 4, 5, 0}; | 699 unsigned char raw_data[10] = {255, 0, 0, 0, 1, 2, 3, 4, 5, 0}; |
700 ValuesMap changes; | 700 ValuesMap changes; |
701 base::string16 string_with_raw_data; | 701 base::string16 string_with_raw_data; |
702 string_with_raw_data.assign(reinterpret_cast<char16*>(raw_data), 5); | 702 string_with_raw_data.assign(reinterpret_cast<char16*>(raw_data), 5); |
703 changes[kKey1] = NullableString16(string_with_raw_data, false); | 703 changes[kKey1] = base::NullableString16(string_with_raw_data, false); |
704 EXPECT_TRUE(db_->CommitAreaChanges(kNamespace1, kOrigin1, false, changes)); | 704 EXPECT_TRUE(db_->CommitAreaChanges(kNamespace1, kOrigin1, false, changes)); |
705 CheckDatabaseConsistency(); | 705 CheckDatabaseConsistency(); |
706 ValuesMap values; | 706 ValuesMap values; |
707 db_->ReadAreaValues(kNamespace1, kOrigin1, &values); | 707 db_->ReadAreaValues(kNamespace1, kOrigin1, &values); |
708 const unsigned char* data = | 708 const unsigned char* data = |
709 reinterpret_cast<const unsigned char*>(values[kKey1].string().data()); | 709 reinterpret_cast<const unsigned char*>(values[kKey1].string().data()); |
710 for (int i = 0; i < 10; ++i) | 710 for (int i = 0; i < 10; ++i) |
711 EXPECT_EQ(raw_data[i], data[i]); | 711 EXPECT_EQ(raw_data[i], data[i]); |
712 } | 712 } |
713 | 713 |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
789 ASSERT_TRUE(db_->CommitAreaChanges(kNamespace1, kOrigin2, false, data2)); | 789 ASSERT_TRUE(db_->CommitAreaChanges(kNamespace1, kOrigin2, false, data2)); |
790 | 790 |
791 EXPECT_TRUE(db_->DeleteArea(kNamespace1, kOrigin1)); | 791 EXPECT_TRUE(db_->DeleteArea(kNamespace1, kOrigin1)); |
792 EXPECT_TRUE(db_->DeleteArea(kNamespace1, kOrigin2)); | 792 EXPECT_TRUE(db_->DeleteArea(kNamespace1, kOrigin2)); |
793 // Check that also the namespace start key was deleted. | 793 // Check that also the namespace start key was deleted. |
794 CheckDatabaseConsistency(); | 794 CheckDatabaseConsistency(); |
795 } | 795 } |
796 | 796 |
797 | 797 |
798 } // namespace dom_storage | 798 } // namespace dom_storage |
OLD | NEW |