b23b6fbe35
Earlier today I pushed a change that split this code up into multiple repos, but that has proved to complicate things too much. So we're back to a single repo, except the individual submodules are better separated than they were before. The README files need updating again; I will push them out soon. Aside from splitting out the different modules, the sound code has moved from from anki to aqt.
43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
from tests.shared import assertException, getEmptyCol
|
|
|
|
|
|
def test_flags():
|
|
col = getEmptyCol()
|
|
n = col.newNote()
|
|
n["Front"] = "one"
|
|
n["Back"] = "two"
|
|
cnt = col.addNote(n)
|
|
c = n.cards()[0]
|
|
# make sure higher bits are preserved
|
|
origBits = 0b101 << 3
|
|
c.flags = origBits
|
|
c.flush()
|
|
# no flags to start with
|
|
assert c.userFlag() == 0
|
|
assert len(col.findCards("flag:0")) == 1
|
|
assert len(col.findCards("flag:1")) == 0
|
|
# set flag 2
|
|
col.setUserFlag(2, [c.id])
|
|
c.load()
|
|
assert c.userFlag() == 2
|
|
assert c.flags & origBits == origBits
|
|
assert len(col.findCards("flag:0")) == 0
|
|
assert len(col.findCards("flag:2")) == 1
|
|
assert len(col.findCards("flag:3")) == 0
|
|
# change to 3
|
|
col.setUserFlag(3, [c.id])
|
|
c.load()
|
|
assert c.userFlag() == 3
|
|
# unset
|
|
col.setUserFlag(0, [c.id])
|
|
c.load()
|
|
assert c.userFlag() == 0
|
|
|
|
# should work with Cards method as well
|
|
c.setUserFlag(2)
|
|
assert c.userFlag() == 2
|
|
c.setUserFlag(3)
|
|
assert c.userFlag() == 3
|
|
c.setUserFlag(0)
|
|
assert c.userFlag() == 0
|