mirror of
https://github.com/ankitects/anki.git
synced 2025-09-19 14:32:22 -04:00
more unit tests, fix bugs
- make sure gconf has an id - merge deck conf
This commit is contained in:
parent
6cfe112f91
commit
9aad5c1166
3 changed files with 49 additions and 2 deletions
|
@ -135,11 +135,13 @@ values(1,0,0,0,%(v)s,0,0,'','{}','','','{}');
|
||||||
g['name'] = _("Default")
|
g['name'] = _("Default")
|
||||||
g['conf'] = 1
|
g['conf'] = 1
|
||||||
g['mod'] = intTime()
|
g['mod'] = intTime()
|
||||||
|
gc = anki.groups.defaultConf.copy()
|
||||||
|
gc['id'] = 1
|
||||||
db.execute("""
|
db.execute("""
|
||||||
update deck set conf = ?, groups = ?, gconf = ?""",
|
update deck set conf = ?, groups = ?, gconf = ?""",
|
||||||
simplejson.dumps(anki.deck.defaultConf),
|
simplejson.dumps(anki.deck.defaultConf),
|
||||||
simplejson.dumps({'1': g}),
|
simplejson.dumps({'1': g}),
|
||||||
simplejson.dumps({'1': anki.groups.defaultConf}))
|
simplejson.dumps({'1': gc}))
|
||||||
|
|
||||||
def _updateIndices(db):
|
def _updateIndices(db):
|
||||||
"Add indices to the DB."
|
"Add indices to the DB."
|
||||||
|
|
|
@ -126,6 +126,8 @@ class Syncer(object):
|
||||||
self.mergeFacts(lchg['facts'], rchg['facts'])
|
self.mergeFacts(lchg['facts'], rchg['facts'])
|
||||||
self.mergeCards(lchg['cards'], rchg['cards'])
|
self.mergeCards(lchg['cards'], rchg['cards'])
|
||||||
self.mergeTags(rchg['tags'])
|
self.mergeTags(rchg['tags'])
|
||||||
|
if 'conf' in rchg:
|
||||||
|
self.mergeConf(rchg['conf'])
|
||||||
|
|
||||||
def finish(self, mod=None):
|
def finish(self, mod=None):
|
||||||
# fixme: dynamic index?
|
# fixme: dynamic index?
|
||||||
|
@ -258,7 +260,8 @@ class Syncer(object):
|
||||||
def getConf(self):
|
def getConf(self):
|
||||||
return self.deck.conf
|
return self.deck.conf
|
||||||
|
|
||||||
# fixme: merging conf
|
def mergeConf(self, conf):
|
||||||
|
self.deck.conf = conf
|
||||||
|
|
||||||
# Merging
|
# Merging
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
|
|
@ -151,6 +151,48 @@ def test_cards():
|
||||||
assert client.sync() == "success"
|
assert client.sync() == "success"
|
||||||
assert not deck2.db.scalar("select 1 from cards where id = ?", card.id)
|
assert not deck2.db.scalar("select 1 from cards where id = ?", card.id)
|
||||||
|
|
||||||
|
@nose.with_setup(setup_modified)
|
||||||
|
def test_tags():
|
||||||
|
test_sync()
|
||||||
|
assert deck1.tags.all() == deck2.tags.all()
|
||||||
|
deck1.tags.register(["abc"])
|
||||||
|
deck2.tags.register(["xyz"])
|
||||||
|
assert deck1.tags.all() != deck2.tags.all()
|
||||||
|
deck1.save(mod=intTime()+1)
|
||||||
|
deck2.save(mod=intTime()+2)
|
||||||
|
assert client.sync() == "success"
|
||||||
|
assert deck1.tags.all() == deck2.tags.all()
|
||||||
|
|
||||||
|
@nose.with_setup(setup_modified)
|
||||||
|
def test_groups():
|
||||||
|
test_sync()
|
||||||
|
assert len(deck1.groups.all()) == 1
|
||||||
|
assert len(deck1.groups.all()) == len(deck2.groups.all())
|
||||||
|
deck1.groups.id("new")
|
||||||
|
assert len(deck1.groups.all()) != len(deck2.groups.all())
|
||||||
|
time.sleep(0.1)
|
||||||
|
deck2.groups.id("new2")
|
||||||
|
deck1.save(mod=intTime()+1)
|
||||||
|
deck2.save(mod=intTime()+2)
|
||||||
|
assert client.sync() == "success"
|
||||||
|
assert deck1.tags.all() == deck2.tags.all()
|
||||||
|
assert len(deck1.groups.all()) == len(deck2.groups.all())
|
||||||
|
assert len(deck1.groups.all()) == 3
|
||||||
|
assert deck1.groups.conf(1)['maxTaken'] == 60
|
||||||
|
deck2.groups.conf(1)['maxTaken'] = 30
|
||||||
|
deck2.groups.save(deck2.groups.conf(1))
|
||||||
|
deck2.save(mod=intTime()+2)
|
||||||
|
assert client.sync() == "success"
|
||||||
|
assert deck1.groups.conf(1)['maxTaken'] == 30
|
||||||
|
|
||||||
|
@nose.with_setup(setup_modified)
|
||||||
|
def test_conf():
|
||||||
|
test_sync()
|
||||||
|
assert deck2.conf['topGroup'] == 1
|
||||||
|
deck1.conf['topGroup'] = 2
|
||||||
|
deck1.save(mod=intTime()+2)
|
||||||
|
assert client.sync() == "success"
|
||||||
|
assert deck2.conf['topGroup'] == 2
|
||||||
|
|
||||||
def _test_speed():
|
def _test_speed():
|
||||||
t = time.time()
|
t = time.time()
|
||||||
|
|
Loading…
Reference in a new issue