chiark / gitweb /
server side support for cookies, basic tests
[disorder] / tests / dump.py
index d308b84ba054857c5c0296842cc7019f42eb8ac7..ff28c6392c5bb3ade40d3e401e57f46aefea565e 100755 (executable)
@@ -32,6 +32,23 @@ def test():
     print "setting a global pref"
     c.setglobal("foo", "before");
     assert c.getglobal("foo") == "before", "checking global foo=before"
     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 "dumping database"
     print dtest.command(["disorder-dump", "--config", disorder._configfile,
                          "--dump", dump])
@@ -59,6 +76,13 @@ def test():
     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"
     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()
 
 if __name__ == '__main__':
     dtest.run()