diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test-compiledsql.cpp | 44 |
1 files changed, 27 insertions, 17 deletions
diff --git a/tests/test-compiledsql.cpp b/tests/test-compiledsql.cpp index 00a8221..d14220c 100644 --- a/tests/test-compiledsql.cpp +++ b/tests/test-compiledsql.cpp @@ -44,23 +44,33 @@ TEST_F(CompiledSQLTest, create) { SQLite::Database db{testDbFilename, SQLite::OPEN_READWRITE | SQLite::OPEN_CREATE}; - CompiledSQL stmt1{db}; - stmt1.init("CREATE TABLE documents (id VARCHAR(16) PRIMARY KEY)"); - stmt1.execute(); - - CompiledSQL stmt2{db}; - stmt2.init("INSERT INTO documents (id) values (?)"); - stmt2.bind(1, "abc"); - ASSERT_TRUE(stmt2.execute()); - - CompiledSQL stmt3{db}; - stmt3.init("SELECT id FROM documents WHERE id = ?"); - stmt3.bind(1, "abc"); - ASSERT_TRUE(stmt3.execute()); - EXPECT_EQ(stmt3.getColumn<std::string>(0), "abc"); - stmt3.init("SELECT id FROM documents WHERE id = ?"); - stmt3.bind(1, "def"); - ASSERT_FALSE(stmt3.execute()); + { + CompiledSQL stmt1{db, "CREATE TABLE documents (id VARCHAR(16) PRIMARY KEY)"}; + CompiledSQL::Guard g{stmt1}; + stmt1.execute(); + } + + { + CompiledSQL stmt2{db, "INSERT INTO documents (id) values (?)"}; + CompiledSQL::Guard g{stmt2}; + stmt2.bind(1, "abc"); + ASSERT_TRUE(stmt2.execute()); + } + + { + CompiledSQL stmt3{db, "SELECT id FROM documents WHERE id = ?"}; + CompiledSQL::Guard g{stmt3}; + stmt3.bind(1, "abc"); + ASSERT_TRUE(stmt3.execute()); + EXPECT_EQ(stmt3.getColumn<std::string>(0), "abc"); + } + + { + CompiledSQL stmt4{db, "SELECT id FROM documents WHERE id = ?"}; + CompiledSQL::Guard g{stmt4}; + stmt4.bind(1, "def"); + ASSERT_FALSE(stmt4.execute()); + } EXPECT_TRUE(fs::exists(testDbFilename)); } |