forked from ankidroid/Anki-Android
-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTestClass.kt
More file actions
35 lines (32 loc) · 1.34 KB
/
TestClass.kt
File metadata and controls
35 lines (32 loc) · 1.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/*
* Copyright (c) 2025 David Allison <davidallisongithub@gmail.com>
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation; either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.ichi2.testutils.ext
import anki.collection.OpChanges
import com.ichi2.anki.libanki.Consts
import com.ichi2.anki.libanki.Note
import com.ichi2.anki.libanki.NotetypeJson
import com.ichi2.anki.observability.undoableOp
import com.ichi2.testutils.TestClass
suspend fun TestClass.addBasicNoteWithOp(
fields: List<String> = listOf("foo", "bar"),
noteType: NotetypeJson = col.notetypes.byName("Basic")!!,
): Note =
col.newNote(noteType).also { note ->
for ((i, field) in fields.withIndex()) {
note.setField(i, field)
}
undoableOp<OpChanges> { col.addNote(note, Consts.DEFAULT_DECK_ID) }
}