print "setting a global pref"
c.setglobal("foo", "before");
assert c.getglobal("foo") == "before", "checking global foo=before"
+ print "adding a tag"
+ # Exercise the tags-changed code
+ c.set(track, "tags", " first tag, Another Tag")
+ assert dtest.lists_have_same_contents(c.tags(),
+ [u"another tag", u"first tag"]),\
+ "checking tag list(1)"
+ c.set(track, "tags", "wibble, another tag ")
+ assert dtest.lists_have_same_contents(c.tags(),
+ [u"another tag", u"wibble"]),\
+ "checking tag list(2)"
+ print "checking track appears in tag search"
+ tracks = c.search(["tag:wibble"])
+ assert len(tracks) == 1, "checking there is exactly one search result(1)"
+ assert tracks[0] == track, "checking for right search result(1)"
+ tracks = c.search(["tag: another tAg "])
+ assert len(tracks) == 1, "checking there is exactly one search result(2)"
+ assert tracks[0] == track, "checking for right search result(2)"
print "dumping database"
print dtest.command(["disorder-dump", "--config", disorder._configfile,
"--dump", dump])
print "changing global pref"
c.setglobal("foo", "after");
assert c.getglobal("foo") == "after", "checking global foo=before"
+ print "adding fresh track pref"
+ c.set(track, "bar", "after")
+ print "adding fresh global pref"
+ c.setglobal("bar", "after")
dtest.stop_daemon();
print "restoring database"
print dtest.command(["disorder-dump", "--config", disorder._configfile,
assert c.get(track, "foo") == "before", "checking track foo=before after undump"
print "checking global pref"
assert c.getglobal("foo") == "before", "checking global foo=before after undump"
+ print "checking fresh track pref"
+ assert c.get(track, "bar") is None, "checking fresh track pref has gone"
+ print "checking fresh global pref"
+ assert c.getglobal("bar") is None, "checking fresh global pref has gone"
+ print "checking tag search still works"
+ tracks = c.search(["tag:wibble"])
+ assert len(tracks) == 1, "checking there is exactly one search result"
+ assert tracks[0] == track, "checking for right search result(3)"
+ assert dtest.lists_have_same_contents(c.tags(),
+ [u"another tag", u"wibble"]),\
+ "checking tag list(3)"
if __name__ == '__main__':
dtest.run()