Skip to content

Commit b5df25f

Browse files
Add FTS5 and InsertWithOnConflict tests
1 parent bd0c988 commit b5df25f

File tree

3 files changed

+49
-0
lines changed

3 files changed

+49
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package net.zetetic.tests;
2+
3+
import net.sqlcipher.Cursor;
4+
import net.sqlcipher.database.SQLiteDatabase;
5+
6+
public class FTS5Test extends SQLCipherTest {
7+
@Override
8+
public boolean execute(SQLiteDatabase database) {
9+
database.execSQL("CREATE VIRTUAL TABLE email USING fts5(sender, title, body);");
10+
database.execSQL("insert into email(sender, title, body) values(?, ?, ?);",
11+
new Object[]{"foo@bar.com", "Test Email", "This is a test email message."});
12+
Cursor cursor = database.rawQuery("select * from email where email match ?;", new String[]{"test"});
13+
if(cursor != null){
14+
cursor.moveToFirst();
15+
return cursor.getString(cursor.getColumnIndex("sender")).equals("foo@bar.com");
16+
}
17+
return false;
18+
}
19+
20+
@Override
21+
public String getName() {
22+
return "FTS5 Test";
23+
}
24+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package net.zetetic.tests;
2+
3+
import android.content.ContentValues;
4+
import net.sqlcipher.database.SQLiteDatabase;
5+
6+
public class InsertWithOnConflictTest extends SQLCipherTest {
7+
@Override
8+
public boolean execute(SQLiteDatabase database) {
9+
database.execSQL("create table user(_id integer primary key autoincrement, email text unique not null);");
10+
ContentValues values = new ContentValues();
11+
values.put("email", "foo@bar.com");
12+
long id = database.insertWithOnConflict("user", null, values,
13+
SQLiteDatabase.CONFLICT_IGNORE);
14+
long error = database.insertWithOnConflict("user", null, values,
15+
SQLiteDatabase.CONFLICT_IGNORE);
16+
return id == 1 && error == -1;
17+
}
18+
19+
@Override
20+
public String getName() {
21+
return "Insert with OnConflict";
22+
}
23+
}

src/main/java/net/zetetic/tests/TestSuiteRunner.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,8 @@ private List<SQLCipherTest> getTestsToRun(){
118118
tests.add(new RawQueryNoSuchFunctionErrorMessageTest());
119119
tests.add(new CompileStatementSyntaxErrorMessageTest());
120120
tests.add(new ExecuteInsertConstraintErrorMessageTest());
121+
tests.add(new InsertWithOnConflictTest());
122+
tests.add(new FTS5Test());
121123
return tests;
122124
}
123125
}

0 commit comments

Comments
 (0)