diff options
author | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-19 18:40:21 +0000 |
---|---|---|
committer | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-19 18:40:21 +0000 |
commit | f0a54b2f3f5afcf13f3ff981837e290c44e66680 (patch) | |
tree | 2c19b6aa7217deeb55bfeb6212ff11fbc0ddf813 /app/sql/connection_unittest.cc | |
parent | 737402392b58715c71ed52b210ee62124f06b18c (diff) | |
download | chromium_src-f0a54b2f3f5afcf13f3ff981837e290c44e66680.zip chromium_src-f0a54b2f3f5afcf13f3ff981837e290c44e66680.tar.gz chromium_src-f0a54b2f3f5afcf13f3ff981837e290c44e66680.tar.bz2 |
Move app/sql/* files to sql/ directory.
I can't remove app/app.gyp and app/app_base.gypi yet because they are referenced
by third_party gyp files :(
BUG=72317
TEST=None
R=rsesek@chromium.org
move app/sql to sql
Review URL: http://codereview.chromium.org/7353026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@93069 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'app/sql/connection_unittest.cc')
-rw-r--r-- | app/sql/connection_unittest.cc | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/app/sql/connection_unittest.cc b/app/sql/connection_unittest.cc deleted file mode 100644 index 2c1a5a0..0000000 --- a/app/sql/connection_unittest.cc +++ /dev/null @@ -1,106 +0,0 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "app/sql/connection.h" -#include "app/sql/statement.h" -#include "base/file_util.h" -#include "base/scoped_temp_dir.h" -#include "testing/gtest/include/gtest/gtest.h" -#include "third_party/sqlite/sqlite3.h" - -class SQLConnectionTest : public testing::Test { - public: - SQLConnectionTest() {} - - void SetUp() { - ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); - ASSERT_TRUE(db_.Open(temp_dir_.path().AppendASCII("SQLConnectionTest.db"))); - } - - void TearDown() { - db_.Close(); - } - - sql::Connection& db() { return db_; } - - private: - ScopedTempDir temp_dir_; - sql::Connection db_; -}; - -TEST_F(SQLConnectionTest, Execute) { - // Valid statement should return true. - ASSERT_TRUE(db().Execute("CREATE TABLE foo (a, b)")); - EXPECT_EQ(SQLITE_OK, db().GetErrorCode()); - - // Invalid statement should fail. - ASSERT_FALSE(db().Execute("CREATE TAB foo (a, b")); - EXPECT_EQ(SQLITE_ERROR, db().GetErrorCode()); -} - -TEST_F(SQLConnectionTest, CachedStatement) { - sql::StatementID id1("foo", 12); - - ASSERT_TRUE(db().Execute("CREATE TABLE foo (a, b)")); - ASSERT_TRUE(db().Execute("INSERT INTO foo(a, b) VALUES (12, 13)")); - - // Create a new cached statement. - { - sql::Statement s(db().GetCachedStatement(id1, "SELECT a FROM foo")); - ASSERT_FALSE(!s); // Test ! operator for validity. - - ASSERT_TRUE(s.Step()); - EXPECT_EQ(12, s.ColumnInt(0)); - } - - // The statement should be cached still. - EXPECT_TRUE(db().HasCachedStatement(id1)); - - { - // Get the same statement using different SQL. This should ignore our - // SQL and use the cached one (so it will be valid). - sql::Statement s(db().GetCachedStatement(id1, "something invalid(")); - ASSERT_FALSE(!s); // Test ! operator for validity. - - ASSERT_TRUE(s.Step()); - EXPECT_EQ(12, s.ColumnInt(0)); - } - - // Make sure other statements aren't marked as cached. - EXPECT_FALSE(db().HasCachedStatement(SQL_FROM_HERE)); -} - -TEST_F(SQLConnectionTest, DoesStuffExist) { - // Test DoesTableExist. - EXPECT_FALSE(db().DoesTableExist("foo")); - ASSERT_TRUE(db().Execute("CREATE TABLE foo (a, b)")); - EXPECT_TRUE(db().DoesTableExist("foo")); - - // Should be case sensitive. - EXPECT_FALSE(db().DoesTableExist("FOO")); - - // Test DoesColumnExist. - EXPECT_FALSE(db().DoesColumnExist("foo", "bar")); - EXPECT_TRUE(db().DoesColumnExist("foo", "a")); - - // Testing for a column on a nonexistent table. - EXPECT_FALSE(db().DoesColumnExist("bar", "b")); -} - -TEST_F(SQLConnectionTest, GetLastInsertRowId) { - ASSERT_TRUE(db().Execute("CREATE TABLE foo (id INTEGER PRIMARY KEY, value)")); - - ASSERT_TRUE(db().Execute("INSERT INTO foo (value) VALUES (12)")); - - // Last insert row ID should be valid. - int64 row = db().GetLastInsertRowId(); - EXPECT_LT(0, row); - - // It should be the primary key of the row we just inserted. - sql::Statement s(db().GetUniqueStatement("SELECT value FROM foo WHERE id=?")); - s.BindInt64(0, row); - ASSERT_TRUE(s.Step()); - EXPECT_EQ(12, s.ColumnInt(0)); -} - |