39 var
hs =
Cc[
"@mozilla.org/browser/nav-history-service;1"].
41 var
gh =
hs.QueryInterface(
Ci.nsIGlobalHistory2);
42 var
bh =
hs.QueryInterface(
Ci.nsIBrowserHistory);
43 var
ts =
Cc[
"@mozilla.org/browser/tagging-service;1"].
44 getService(Components.interfaces.nsITaggingService);
45 var
bs =
Cc[
"@mozilla.org/browser/nav-bookmarks-service;1"].
49 var visitId =
hs.addVisit(aURI,
59 var bId = bs.insertBookmark(bs.unfiledBookmarksFolder, aURI,
60 bs.DEFAULT_INDEX,
"bookmark/" + aURI.spec);
69 var
win =
window.openDialog(
"chrome://browser/content/places/places.xul",
71 "chrome,toolbar=yes,dialog=no,resizable");
73 win.addEventListener(
"load",
function onload() {
74 win.removeEventListener(
"load",
onload,
false);
75 executeSoon(
function () {
76 var PU = win.PlacesUtils;
77 var PO = win.PlacesOrganizer;
78 var PUIU = win.PlacesUIUtils;
85 ok(PU,
"PlacesUtils in scope");
86 ok(PUIU,
"PlacesUIUtils in scope");
87 ok(PO,
"Places organizer in scope");
90 makeHistVisit:
function() {
93 isnot(testURI1,
null,
"testURI is not null");
95 ok(visitId > 0,
"A visit was added to the history");
96 ok(
gh.isVisited(testURI1),
MOZURISPEC +
" is a visited url.");
102 ok(bmId > 0,
"A bookmark was added");
103 ts.tagURI(PlacesUtils._uri(
TEST_URL), [
"foo"]);
104 var tags = ts.getTagsForURI(PU._uri(
TEST_URL), {});
105 is(tags[0],
'foo',
"tag is foo");
108 focusTag:
function (paste){
110 PO.selectLeftPaneQuery(
"Tags");
111 var tags = PO._places.selectedNode;
112 tags.containerOpen =
true;
113 var fooTag = tags.getChild(0);
114 this.tagNode = fooTag;
115 PO._places.selectNode(fooTag);
116 is(this.tagNode.title,
'foo',
"tagNode title is foo");
117 var ip = PO._places.insertionPoint;
118 ok(ip.isTag,
"IP is a tag");
120 ok(
true,
"About to paste");
121 PO._places.controller.paste();
127 copyHistNode:
function (){
129 PO.selectLeftPaneQuery(
"History");
130 var histContainer = PO._places.selectedNode.QueryInterface(
Ci.nsINavHistoryContainerResultNode);
131 histContainer.containerOpen =
true;
132 PO._places.selectNode(histContainer.getChild(0));
133 this.histNode = PO._content.view.nodeForTreeIndex(0);
134 PO._content.selectNode(this.histNode);
136 "historyNode exists: " +
this.histNode.uri);
138 PO._content.controller.copy();
141 waitForPaste:
function (){
143 var xferable =
Cc[
"@mozilla.org/widget/transferable;1"].
145 xferable.addDataFlavor(PU.TYPE_X_MOZ_PLACE);
146 PUIU.clipboard.getData(xferable,
Ci.nsIClipboard.kGlobalClipboard);
147 var
data = { }, type = { };
148 xferable.getAnyTransferData(type, data, { });
157 pasteToTag:
function (){
162 historyNode:
function (){
164 PO.selectLeftPaneQuery(
"History");
165 var histContainer = PO._places.selectedNode.QueryInterface(
Ci.nsINavHistoryContainerResultNode);
166 histContainer.containerOpen =
true;
167 PO._places.selectNode(histContainer.getChild(0));
168 var histNode = PO._content.view.nodeForTreeIndex(0);
169 ok(histNode,
"histNode exists: " + histNode.title);
171 var tags = PU.tagging.getTagsForURI(PU._uri(
MOZURISPEC), {});
172 ok(tags.length == 1,
"history node is tagged: " + tags.length);
174 var isBookmarked = PU.bookmarks.isBookmarked(PU._uri(
MOZURISPEC));
175 is(isBookmarked,
true,
MOZURISPEC +
" is bookmarked");
176 var bookmarkIds = PU.bookmarks.getBookmarkIdsForURI(
177 PU._uri(histNode.uri), {});
178 ok(bookmarkIds.length > 0,
"bookmark exists for the tagged history item: " + bookmarkIds);
181 checkForBookmarkInUI:
function(){
184 PO.selectLeftPaneQuery(
"UnfiledBookmarks");
186 var unsortedNode = PO._content.view.nodeForTreeIndex(1);
187 ok(unsortedNode,
"unsortedNode is not null: " + unsortedNode.uri);
188 is(unsortedNode.uri,
MOZURISPEC,
"node uri's are the same");
195 ts.untagURI(PU._uri(
TEST_URL), [
"foo"]);
197 var tags = ts.getTagsForURI(PU._uri(
TEST_URL), {});
198 is(tags.length, 0,
"tags are gone");
199 bs.removeFolderChildren(bs.unfiledBookmarksFolder);
204 tests.makeHistVisit();
207 tests.copyHistNode();
208 tests.waitForPaste();
213 tests.checkForBookmarkInUI();
getService(Ci.sbIFaceplateManager)
aWindow setTimeout(function(){_this.restoreHistory(aWindow, aTabs, aTabData, aIdMap);}, 0)