summaryrefslogtreecommitdiff
path: root/test/storage/sqlite.test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/storage/sqlite.test.cpp')
-rw-r--r--test/storage/sqlite.test.cpp27
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);
+}