Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(562)

Side by Side Diff: webkit/database/database_connections_unittest.cc

Issue 7001014: More Quota WebSQLDatabase integration. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: did_some_todos Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "base/message_loop.h" 5 #include "base/message_loop.h"
6 #include "base/task.h" 6 #include "base/task.h"
7 #include "base/threading/thread.h" 7 #include "base/threading/thread.h"
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 #include "webkit/database/database_connections.h" 10 #include "webkit/database/database_connections.h"
(...skipping 15 matching lines...) Expand all
26 const string16& database_name, 26 const string16& database_name,
27 scoped_refptr<DatabaseConnectionsWrapper> obj, 27 scoped_refptr<DatabaseConnectionsWrapper> obj,
28 bool* did_task_execute) { 28 bool* did_task_execute) {
29 thread->message_loop()->PostTask(FROM_HERE, 29 thread->message_loop()->PostTask(FROM_HERE,
30 NewRunnableFunction(RemoveConnectionTask, 30 NewRunnableFunction(RemoveConnectionTask,
31 origin_id, database_name, obj, did_task_execute)); 31 origin_id, database_name, obj, did_task_execute));
32 } 32 }
33 33
34 } // anonymous namespace 34 } // anonymous namespace
35 35
36 TEST(DatabaseConnectionsTest, DatabaseConnectionsTest) {
37 const string16 kOriginId(ASCIIToUTF16("origin_id"));
38 const string16 kName(ASCIIToUTF16("database_name"));
39 const string16 kName2(ASCIIToUTF16("database_name2"));
40 const int64 kSize = 1000;
41
42 DatabaseConnections connections;
43
44 EXPECT_TRUE(connections.IsEmpty());
45 EXPECT_FALSE(connections.IsDatabaseOpened(kOriginId, kName));
46 EXPECT_FALSE(connections.IsOriginUsed(kOriginId));
47
48 connections.AddConnection(kOriginId, kName);
49 EXPECT_FALSE(connections.IsEmpty());
50 EXPECT_TRUE(connections.IsDatabaseOpened(kOriginId, kName));
51 EXPECT_TRUE(connections.IsOriginUsed(kOriginId));
52 EXPECT_EQ(0, connections.GetOpenDatabaseSize(kOriginId, kName));
53 connections.SetOpenDatabaseSize(kOriginId, kName, kSize);
54 EXPECT_EQ(kSize, connections.GetOpenDatabaseSize(kOriginId, kName));
55
56 connections.RemoveConnection(kOriginId, kName);
57 EXPECT_TRUE(connections.IsEmpty());
58 EXPECT_FALSE(connections.IsDatabaseOpened(kOriginId, kName));
59 EXPECT_FALSE(connections.IsOriginUsed(kOriginId));
60
61 connections.AddConnection(kOriginId, kName);
62 connections.SetOpenDatabaseSize(kOriginId, kName, kSize);
63 EXPECT_EQ(kSize, connections.GetOpenDatabaseSize(kOriginId, kName));
64 connections.AddConnection(kOriginId, kName);
65 EXPECT_EQ(kSize, connections.GetOpenDatabaseSize(kOriginId, kName));
66 EXPECT_FALSE(connections.IsEmpty());
67 EXPECT_TRUE(connections.IsDatabaseOpened(kOriginId, kName));
68 EXPECT_TRUE(connections.IsOriginUsed(kOriginId));
69 connections.AddConnection(kOriginId, kName2);
70 EXPECT_TRUE(connections.IsDatabaseOpened(kOriginId, kName2));
71
72 DatabaseConnections another;
73 another.AddConnection(kOriginId, kName);
74 another.AddConnection(kOriginId, kName2);
75
76 std::vector<std::pair<string16, string16> > closed_dbs;
77 connections.RemoveConnections(another, &closed_dbs);
78 EXPECT_EQ(1u, closed_dbs.size());
79 EXPECT_EQ(kOriginId, closed_dbs[0].first);
80 EXPECT_EQ(kName2, closed_dbs[0].second);
81 EXPECT_FALSE(connections.IsDatabaseOpened(kOriginId, kName2));
82 EXPECT_TRUE(connections.IsDatabaseOpened(kOriginId, kName));
83 EXPECT_EQ(kSize, connections.GetOpenDatabaseSize(kOriginId, kName));
84
85 connections.RemoveAllConnections();
86 EXPECT_TRUE(connections.IsEmpty());
87
88 another.RemoveAllConnections();
89 }
90
36 TEST(DatabaseConnectionsTest, DatabaseConnectionsWrapperTest) { 91 TEST(DatabaseConnectionsTest, DatabaseConnectionsWrapperTest) {
37 string16 kOriginId(ASCIIToUTF16("origin_id")); 92 const string16 kOriginId(ASCIIToUTF16("origin_id"));
38 string16 kName(ASCIIToUTF16("database_name")); 93 const string16 kName(ASCIIToUTF16("database_name"));
39 94
40 scoped_refptr<DatabaseConnectionsWrapper> obj( 95 scoped_refptr<DatabaseConnectionsWrapper> obj(
41 new DatabaseConnectionsWrapper); 96 new DatabaseConnectionsWrapper);
42 EXPECT_FALSE(obj->HasOpenConnections()); 97 EXPECT_FALSE(obj->HasOpenConnections());
43 obj->AddOpenConnection(kOriginId, kName); 98 obj->AddOpenConnection(kOriginId, kName);
44 EXPECT_TRUE(obj->HasOpenConnections()); 99 EXPECT_TRUE(obj->HasOpenConnections());
45 obj->AddOpenConnection(kOriginId, kName); 100 obj->AddOpenConnection(kOriginId, kName);
46 EXPECT_TRUE(obj->HasOpenConnections()); 101 EXPECT_TRUE(obj->HasOpenConnections());
47 obj->RemoveOpenConnection(kOriginId, kName); 102 obj->RemoveOpenConnection(kOriginId, kName);
48 EXPECT_TRUE(obj->HasOpenConnections()); 103 EXPECT_TRUE(obj->HasOpenConnections());
(...skipping 21 matching lines...) Expand all
70 MessageLoop::current()->PostTask(FROM_HERE, 125 MessageLoop::current()->PostTask(FROM_HERE,
71 NewRunnableFunction(ScheduleRemoveConnectionTask, 126 NewRunnableFunction(ScheduleRemoveConnectionTask,
72 &thread, kOriginId, kName, 127 &thread, kOriginId, kName,
73 obj, &did_task_execute)); 128 obj, &did_task_execute));
74 obj->WaitForAllDatabasesToClose(); // should return after the task executes 129 obj->WaitForAllDatabasesToClose(); // should return after the task executes
75 EXPECT_TRUE(did_task_execute); 130 EXPECT_TRUE(did_task_execute);
76 EXPECT_FALSE(obj->HasOpenConnections()); 131 EXPECT_FALSE(obj->HasOpenConnections());
77 } 132 }
78 133
79 } // namespace webkit_database 134 } // namespace webkit_database
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698