diff options
Diffstat (limited to 'test/storage/sqlite.test.cpp')
-rw-r--r-- | test/storage/sqlite.test.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/storage/sqlite.test.cpp b/test/storage/sqlite.test.cpp new file mode 100644 index 0000000000..dbd7a09868 --- /dev/null +++ b/test/storage/sqlite.test.cpp @@ -0,0 +1,27 @@ +#include <mbgl/test/util.hpp> + +#include <gtest/gtest.h> +#include <sqlite3.hpp> + +TEST(SQLite, Statement) { + using namespace mbgl; + + mapbox::sqlite::Database db(":memory:", mapbox::sqlite::Create | mapbox::sqlite::ReadWrite); + db.exec("CREATE TABLE test (id INTEGER);"); + + mapbox::sqlite::Statement stmt1 = db.prepare("INSERT INTO test (id) VALUES (?1);"); + ASSERT_EQ(stmt1.lastInsertRowId(), 0); + ASSERT_EQ(stmt1.changes(), 0u); + stmt1.bind(1, 10); + stmt1.run(); + ASSERT_EQ(stmt1.lastInsertRowId(), 1); + ASSERT_EQ(stmt1.changes(), 1u); + + mapbox::sqlite::Statement stmt2 = db.prepare("INSERT INTO test (id) VALUES (?1);"); + ASSERT_EQ(stmt2.lastInsertRowId(), 0); + ASSERT_EQ(stmt2.changes(), 0u); + stmt2.bind(1, 20); + stmt2.run(); + ASSERT_EQ(stmt2.lastInsertRowId(), 2); + ASSERT_EQ(stmt2.changes(), 1u); +} |