gecko/services/sync/tests/unit/test_utils_anno.js

42 lines
1.2 KiB
JavaScript
Raw Normal View History

2010-05-10 18:08:52 -07:00
_("Make sure various combinations of anno arguments do the right get/set for pages/items");
Cu.import("resource://services-sync/util.js");
2010-05-10 18:08:52 -07:00
function run_test() {
_("create a bookmark to a url so it exists");
let url = "about:";
let bmkid = Svc.Bookmark.insertBookmark(Svc.Bookmark.unfiledBookmarksFolder,
Utils.makeURI(url), -1, "");
_("set an anno on the bookmark ");
Utils.anno(bmkid, "anno", "hi");
do_check_eq(Utils.anno(bmkid, "anno"), "hi");
2010-05-10 18:08:52 -07:00
_("set an anno on a url");
Utils.anno(url, "tation", "hello");
do_check_eq(Utils.anno(url, "tation"), "hello");
2010-05-10 18:08:52 -07:00
_("make sure getting it also works with a nsIURI");
let uri = Utils.makeURI(url);
2010-05-10 18:08:52 -07:00
do_check_eq(Utils.anno(uri, "tation"), "hello");
_("make sure annotations get updated");
Utils.anno(uri, "tation", "bye!");
do_check_eq(Utils.anno(url, "tation"), "bye!");
2010-05-10 18:08:52 -07:00
_("sanity check that the item anno is still there");
do_check_eq(Utils.anno(bmkid, "anno"), "hi");
_("invalid uris don't get annos");
let didThrow = false;
try {
Utils.anno("foo/bar/baz", "bad");
}
catch(ex) {
didThrow = true;
}
do_check_true(didThrow);
_("cleaning up the bookmark we created");
Svc.Bookmark.removeItem(bmkid);
2010-05-10 18:08:52 -07:00
}