Skip to content

Commit 4edabed

Browse files
Fix bug #4949 by correctly setting previous db version number (#4956)
* Fix bug #4949 by correctly setting previous db version number * Fix failing tests
1 parent 9880d7e commit 4edabed

File tree

2 files changed

+79
-8
lines changed

2 files changed

+79
-8
lines changed

app/src/main/java/fr/free/nrw/commons/bookmarks/items/BookmarkItemsDao.java

+4-8
Original file line numberDiff line numberDiff line change
@@ -309,22 +309,18 @@ public static void onUpdate(final SQLiteDatabase db, int from, final int to) {
309309
if (from == to) {
310310
return;
311311
}
312-
if (from < 7) {
312+
if (from < 18) {
313+
// doesn't exist yet
313314
from++;
314315
onUpdate(db, from, to);
315316
return;
316317
}
317318

318-
if (from == 7) {
319+
if (from == 18) {
320+
// table added in version 19
319321
onCreate(db);
320322
from++;
321323
onUpdate(db, from, to);
322-
return;
323-
}
324-
325-
if (from == 8) {
326-
from++;
327-
onUpdate(db, from, to);
328324
}
329325
}
330326
}

app/src/test/kotlin/fr/free/nrw/commons/bookmarks/items/BookmarkItemsDaoTest.kt

+75
Original file line numberDiff line numberDiff line change
@@ -271,9 +271,84 @@ class BookmarkItemsDaoTest {
271271
@Test
272272
fun migrateTableVersionFrom_v7_to_v8() {
273273
onUpdate(database, 7, 8)
274+
// Table didn't change in version 8
275+
verifyZeroInteractions(database)
276+
}
277+
278+
@Test
279+
fun migrateTableVersionFrom_v8_to_v9() {
280+
onUpdate(database, 8, 9)
281+
// Table didn't change in version 9
282+
verifyZeroInteractions(database)
283+
}
284+
285+
@Test
286+
fun migrateTableVersionFrom_v9_to_v10() {
287+
onUpdate(database, 9, 10)
288+
// Table didn't change in version 10
289+
verifyZeroInteractions(database)
290+
}
291+
292+
@Test
293+
fun migrateTableVersionFrom_v10_to_v11() {
294+
onUpdate(database, 10, 11)
295+
// Table didn't change in version 11
296+
verifyZeroInteractions(database)
297+
}
298+
299+
@Test
300+
fun migrateTableVersionFrom_v11_to_v12() {
301+
onUpdate(database, 11, 12)
302+
// Table didn't change in version 12
303+
verifyZeroInteractions(database)
304+
}
305+
306+
@Test
307+
fun migrateTableVersionFrom_v12_to_v13() {
308+
onUpdate(database, 12, 13)
309+
// Table didn't change in version 13
310+
verifyZeroInteractions(database)
311+
}
312+
313+
@Test
314+
fun migrateTableVersionFrom_v13_to_v14() {
315+
onUpdate(database, 13, 14)
316+
// Table didn't change in version 14
317+
verifyZeroInteractions(database)
318+
}
319+
320+
@Test
321+
fun migrateTableVersionFrom_v14_to_v15() {
322+
onUpdate(database, 14, 15)
323+
// Table didn't change in version 15
324+
verifyZeroInteractions(database)
325+
}
326+
327+
@Test
328+
fun migrateTableVersionFrom_v15_to_v16() {
329+
onUpdate(database, 15, 16)
330+
// Table didn't change in version 16
331+
verifyZeroInteractions(database)
332+
}
333+
334+
@Test
335+
fun migrateTableVersionFrom_v16_to_v17() {
336+
onUpdate(database, 16, 17)
337+
// Table didn't change in version 17
338+
verifyZeroInteractions(database)
339+
}
340+
341+
@Test
342+
fun migrateTableVersionFrom_v18_to_v19() {
343+
onUpdate(database, 18, 19)
274344
verify(database).execSQL(CREATE_TABLE_STATEMENT)
275345
}
276346

347+
@Test
348+
fun migrateTableVersionFrom_v19_to_v19() {
349+
onUpdate(database, 19, 19)
350+
verifyZeroInteractions(database)
351+
}
277352

278353
private fun createCursor(rowCount: Int) = MatrixCursor(columns, rowCount).apply {
279354

0 commit comments

Comments
 (0)