gecko/toolkit/components/places/tests/chrome/test_341972a.xul

83 lines
2.8 KiB
XML

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
<?xml-stylesheet
href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
<window title="Update Livemark SiteURI"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/javascript"
src="chrome://mochikit/content/MochiKit/packed.js"></script>
<script type="application/javascript"
src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<body xmlns="http://www.w3.org/1999/xhtml" />
<script type="application/javascript">
<![CDATA[
/*
Test updating livemark siteURI to the value from the feed
*/
SimpleTest.waitForExplicitFinish();
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cr = Components.results;
var iosvc = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService);
function uri(spec) {
return iosvc.newURI(spec, null, null);
}
var lmsvc = Cc["@mozilla.org/browser/livemark-service;2"].
getService(Ci.nsILivemarkService);
var bmsvc = Cc["@mozilla.org/browser/nav-bookmarks-service;1"].
getService(Ci.nsINavBookmarksService);
var histsvc = Cc["@mozilla.org/browser/nav-history-service;1"].
getService(Ci.nsINavHistoryService);
var annosvc = Cc["@mozilla.org/browser/annotation-service;1"].
getService(Ci.nsIAnnotationService);
var toolbarFolderId = bmsvc.toolbarFolder;
var observer =
{
QueryInterface: function(iid) {
if (iid.equals(Ci.nsIAnnotationObserver) ||
iid.equals(Ci.nsISupports))
return this;
throw Cr.NS_ERROR_NO_INTERFACE;
},
// nsIAnnotationObserver
onItemAnnotationSet: function(aItemId, aAnnotationName) {
if (aAnnotationName == "livemark/siteURI" &&
aItemId == gLivemarkId) {
var newSiteURI = annosvc.getItemAnnotation(aItemId, aAnnotationName);
ok(newSiteURI == FEEDSITESPEC,
"livemark site URI changed to " + newSiteURI + " not to value in feed");
annosvc.removeObserver(this);
bmsvc.removeItem(gLivemarkId);
SimpleTest.finish();
}
},
onItemAnnotationRemoved: function(aItemId, aAnnotationName) {},
onPageAnnotationSet: function(aUri, aAnnotationName) {},
onPageAnnotationRemoved: function(aUri, aAnnotationName) {}
};
const FEEDSPEC = "http://localhost:8888/tests/toolkit/components/places/tests/chrome/sample_feed.atom";
const INITIALSITESPEC = "http://localhost:8888/";
const FEEDSITESPEC = "http://example.org/";
gLivemarkId = lmsvc.createLivemarkFolderOnly(toolbarFolderId, "foo",
uri(INITIALSITESPEC),
uri(FEEDSPEC), -1);
annosvc.addObserver(observer, false);
lmsvc.reloadLivemarkFolder(gLivemarkId);
]]>
</script>
</window>