OLD | NEW |
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/file_util.h" | 5 #include "base/file_util.h" |
6 #include "base/files/scoped_temp_dir.h" | 6 #include "base/files/scoped_temp_dir.h" |
7 #include "sql/connection.h" | 7 #include "sql/connection.h" |
8 #include "sql/statement.h" | 8 #include "sql/statement.h" |
9 #include "sql/transaction.h" | 9 #include "sql/transaction.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
11 #include "third_party/sqlite/sqlite3.h" | 11 #include "third_party/sqlite/sqlite3.h" |
12 | 12 |
13 class SQLTransactionTest : public testing::Test { | 13 class SQLTransactionTest : public testing::Test { |
14 public: | 14 public: |
15 SQLTransactionTest() {} | 15 SQLTransactionTest() {} |
16 | 16 |
17 void SetUp() { | 17 virtual void SetUp() { |
18 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); | 18 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); |
19 ASSERT_TRUE(db_.Open( | 19 ASSERT_TRUE(db_.Open( |
20 temp_dir_.path().AppendASCII("SQLTransactionTest.db"))); | 20 temp_dir_.path().AppendASCII("SQLTransactionTest.db"))); |
21 | 21 |
22 ASSERT_TRUE(db().Execute("CREATE TABLE foo (a, b)")); | 22 ASSERT_TRUE(db().Execute("CREATE TABLE foo (a, b)")); |
23 } | 23 } |
24 | 24 |
25 void TearDown() { | 25 virtual void TearDown() { |
26 db_.Close(); | 26 db_.Close(); |
27 } | 27 } |
28 | 28 |
29 sql::Connection& db() { return db_; } | 29 sql::Connection& db() { return db_; } |
30 | 30 |
31 // Returns the number of rows in table "foo". | 31 // Returns the number of rows in table "foo". |
32 int CountFoo() { | 32 int CountFoo() { |
33 sql::Statement count(db().GetUniqueStatement("SELECT count(*) FROM foo")); | 33 sql::Statement count(db().GetUniqueStatement("SELECT count(*) FROM foo")); |
34 count.Step(); | 34 count.Step(); |
35 return count.ColumnInt(0); | 35 return count.ColumnInt(0); |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
124 EXPECT_EQ(1, db().transaction_nesting()); | 124 EXPECT_EQ(1, db().transaction_nesting()); |
125 { | 125 { |
126 sql::Transaction inner3(&db()); | 126 sql::Transaction inner3(&db()); |
127 EXPECT_FALSE(inner3.Begin()); | 127 EXPECT_FALSE(inner3.Begin()); |
128 EXPECT_EQ(1, db().transaction_nesting()); | 128 EXPECT_EQ(1, db().transaction_nesting()); |
129 } | 129 } |
130 } | 130 } |
131 EXPECT_EQ(0, db().transaction_nesting()); | 131 EXPECT_EQ(0, db().transaction_nesting()); |
132 EXPECT_EQ(0, CountFoo()); | 132 EXPECT_EQ(0, CountFoo()); |
133 } | 133 } |
OLD | NEW |