--- a/suite/common/places/tests/browser/browser_457473_no_copy_guid.js
+++ b/suite/common/places/tests/browser/browser_457473_no_copy_guid.js
@@ -9,17 +9,17 @@
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Places test code.
*
- * The Initial Developer of the Original Code is Mozilla Corp.
+ * The Initial Developer of the Original Code is the Mozilla Foundation.
* Portions created by the Initial Developer are Copyright (C) 2008
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Dietrich Ayala <dietrich@mozilla.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
@@ -36,17 +36,17 @@
* ***** END LICENSE BLOCK ***** */
function test() {
// sanity check
ok(PlacesUtils, "checking PlacesUtils, running in chrome context?");
ok(PlacesUIUtils, "checking PlacesUIUtils, running in chrome context?");
/*
- - create, a test folder, add bookmark, separator, livemark to it
+ - create, a test folder, add bookmark, separator to it
- fetch guids for all
- copy the folder
- test that guids are all different
- undo copy
- redo copy
- test that guids for the copy stay the same
*/
@@ -61,20 +61,16 @@ function test() {
testRootNode.containerOpen = true;
is(testRootNode.childCount, 0, "confirm test root node is a container, and is empty");
// create folder A, fill it w/ each item type
var folderAId = PlacesUtils.bookmarks.createFolder(testRootId, "A", -1);
PlacesUtils.bookmarks.insertBookmark(folderAId, PlacesUtils._uri("http://foo"),
-1, "test bookmark");
PlacesUtils.bookmarks.insertSeparator(folderAId, -1);
- PlacesUtils.livemarks.createLivemarkFolderOnly(folderAId, "test livemark",
- PlacesUtils._uri("http://test"),
- PlacesUtils._uri("http://test"), -1);
-
var folderANode = testRootNode.getChild(0);
var folderAGUIDs = getGUIDs(folderANode);
// test the test function
ok(checkGUIDs(folderANode, folderAGUIDs, true), "confirm guid test works");
// serialize the folder
var serializedNode = PlacesUtils.wrapNode(folderANode, PlacesUtils.TYPE_X_MOZ_PLACE_CONTAINER);
@@ -120,18 +116,17 @@ function test() {
}
function getGUIDs(aNode) {
PlacesUtils.asContainer(aNode);
aNode.containerOpen = true;
var GUIDs = {
folder: PlacesUtils.bookmarks.getItemGUID(aNode.itemId),
bookmark: PlacesUtils.bookmarks.getItemGUID(aNode.getChild(0).itemId),
- separator: PlacesUtils.bookmarks.getItemGUID(aNode.getChild(1).itemId),
- livemark: PlacesUtils.bookmarks.getItemGUID(aNode.getChild(2).itemId)
+ separator: PlacesUtils.bookmarks.getItemGUID(aNode.getChild(1).itemId)
};
aNode.containerOpen = false;
return GUIDs;
}
function checkGUIDs(aFolderNode, aGUIDs, aShouldMatch) {
function check(aNode, aGUID, aEquals) {
@@ -139,14 +134,13 @@ function checkGUIDs(aFolderNode, aGUIDs,
return aEquals ? (nodeGUID == aGUID) : (nodeGUID != aGUID);
}
PlacesUtils.asContainer(aFolderNode);
aFolderNode.containerOpen = true;
var allMatch = check(aFolderNode, aGUIDs.folder, aShouldMatch) &&
check(aFolderNode.getChild(0), aGUIDs.bookmark, aShouldMatch) &&
- check(aFolderNode.getChild(1), aGUIDs.separator, aShouldMatch) &&
- check(aFolderNode.getChild(2), aGUIDs.livemark, aShouldMatch);
+ check(aFolderNode.getChild(1), aGUIDs.separator, aShouldMatch);
aFolderNode.containerOpen = false;
return allMatch;
}
--- a/suite/common/places/tests/browser/browser_library_views_liveupdate.js
+++ b/suite/common/places/tests/browser/browser_library_views_liveupdate.js
@@ -93,21 +93,16 @@ function startTest() {
bs.setItemTitle(id, "bmf_edited");
addedBookmarks.push(id);
id = bs.insertBookmark(id,
PlacesUtils._uri("http://bmf1.mozilla.org/"),
bs.DEFAULT_INDEX,
"bmf1");
addedBookmarks.push(id);
bs.moveItem(id, bs.bookmarksMenuFolder, 0);
- id = PlacesUtils.livemarks.createLivemarkFolderOnly(
- bs.bookmarksMenuFolder, "bml",
- PlacesUtils._uri("http://bml.siteuri.mozilla.org/"),
- PlacesUtils._uri("http://bml.feeduri.mozilla.org/"), bs.DEFAULT_INDEX);
- addedBookmarks.push(id);
// TOOLBAR
ok(true, "*** Acting on toolbar bookmarks");
bs.insertBookmark(bs.toolbarFolder,
PlacesUtils._uri("http://tb1.mozilla.org/"),
bs.DEFAULT_INDEX,
"tb1");
bs.setItemTitle(id, "tb1_edited");
@@ -126,20 +121,16 @@ function startTest() {
bs.setItemTitle(id, "tbf_edited");
addedBookmarks.push(id);
id = bs.insertBookmark(id,
PlacesUtils._uri("http://tbf1.mozilla.org/"),
bs.DEFAULT_INDEX,
"bmf1");
addedBookmarks.push(id);
bs.moveItem(id, bs.toolbarFolder, 0);
- id = PlacesUtils.livemarks.createLivemarkFolderOnly(
- bs.toolbarFolder, "tbl", PlacesUtils._uri("http://tbl.siteuri.mozilla.org/"),
- PlacesUtils._uri("http://tbl.feeduri.mozilla.org/"), bs.DEFAULT_INDEX);
- addedBookmarks.push(id);
// UNSORTED
ok(true, "*** Acting on unsorted bookmarks");
id = bs.insertBookmark(bs.unfiledBookmarksFolder,
PlacesUtils._uri("http://ub1.mozilla.org/"),
bs.DEFAULT_INDEX,
"ub1");
bs.setItemTitle(id, "ub1_edited");
@@ -158,21 +149,16 @@ function startTest() {
bs.setItemTitle(id, "ubf_edited");
addedBookmarks.push(id);
id = bs.insertBookmark(id,
PlacesUtils._uri("http://ubf1.mozilla.org/"),
bs.DEFAULT_INDEX,
"ubf1");
addedBookmarks.push(id);
bs.moveItem(id, bs.unfiledBookmarksFolder, 0);
- id = PlacesUtils.livemarks.createLivemarkFolderOnly(
- bs.unfiledBookmarksFolder, "bubl",
- PlacesUtils._uri("http://bubl.siteuri.mozilla.org/"),
- PlacesUtils._uri("http://bubl.feeduri.mozilla.org/"), bs.DEFAULT_INDEX);
- addedBookmarks.push(id);
// Remove all added bookmarks.
addedBookmarks.forEach(function (aItem) {
// If we remove an item after its containing folder has been removed,
// this will throw, but we can ignore that.
try {
bs.removeItem(aItem);
} catch (ex) {}
@@ -199,37 +185,17 @@ function finishTest() {
*/
var bookmarksObserver = {
QueryInterface: XPCOMUtils.generateQI([
Ci.nsINavBookmarkObserver
, Ci.nsIAnnotationObserver
]),
// nsIAnnotationObserver
- onItemAnnotationSet: function(aItemId, aAnnotationName) {
- if (aAnnotationName == PlacesUtils.LMANNO_FEEDURI) {
- // Check that item is recognized as a livemark.
- let validator = function(aTreeRowIndex) {
- let tree = gLibrary.PlacesOrganizer._places;
- let livemarkAtom = Cc["@mozilla.org/atom-service;1"].
- getService(Ci.nsIAtomService).
- getAtom("livemark");
- let properties = Cc["@mozilla.org/supports-array;1"].
- createInstance(Ci.nsISupportsArray);
- tree.view.getCellProperties(aTreeRowIndex,
- tree.columns.getColumnAt(0),
- properties);
- return properties.GetIndexOf(livemarkAtom) != -1;
- };
-
- var [node, index, valid] = getNodeForTreeItem(aItemId, gLibrary.PlacesOrganizer._places, validator);
- isnot(node, null, "Found new Places node in left pane at " + index);
- ok(valid, "Node is recognized as a livemark");
- }
- },
+ onItemAnnotationSet: function() {},
onItemAnnotationRemoved: function() {},
onPageAnnotationSet: function() {},
onPageAnnotationRemoved: function() {},
// nsINavBookmarkObserver
onItemAdded: function PSB_onItemAdded(aItemId, aFolderId, aIndex, aItemType,
aURI) {
var node = null;
--- a/suite/common/places/tests/unit/test_384370.js
+++ b/suite/common/places/tests/unit/test_384370.js
@@ -10,17 +10,17 @@
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Bug 384370 code.
*
- * The Initial Developer of the Original Code is Mozilla Corp.
+ * The Initial Developer of the Original Code is the Mozilla Foundation.
* Portions created by the Initial Developer are Copyright (C) 2008
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Dietrich Ayala <dietrich@mozilla.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
@@ -31,29 +31,25 @@
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
-// The following components need to be initialized to perform tests without
-// asserting in debug builds (Bug 448804).
-Cc["@mozilla.org/browser/livemark-service;2"].getService(Ci.nsILivemarkService);
-Cc["@mozilla.org/feed-processor;1"].createInstance(Ci.nsIFeedProcessor);
-
const LOAD_IN_SIDEBAR_ANNO = "bookmarkProperties/loadInSidebar";
const DESCRIPTION_ANNO = "bookmarkProperties/description";
const POST_DATA_ANNO = "bookmarkProperties/POSTData";
do_check_eq(typeof PlacesUtils, "object");
// main
function run_test() {
+ do_test_pending();
/*
HTML+FEATURES SUMMARY:
- import legacy bookmarks
- export as json, import, test (tests integrity of html > json)
- export as html, import, test (tests integrity of json > html)
BACKUP/RESTORE SUMMARY:
- create a bookmark in each root
@@ -87,31 +83,35 @@ function run_test() {
// 2. run the test-suite
// Note: we do not empty the db before this import to catch bugs like 380999
try {
importer.importHTMLFromFile(bookmarksFileOld, true);
} catch(ex) { do_throw("couldn't import legacy bookmarks file: " + ex); }
populate();
validate();
- // Test exporting a Places canonical json file.
- // 1. export to bookmarks.exported.json
- // 2. empty bookmarks db
- // 3. import bookmarks.exported.json
- // 4. run the test-suite
- try {
- PlacesUtils.backups.saveBookmarksToJSONFile(jsonFile);
- } catch(ex) { do_throw("couldn't export to file: " + ex); }
- LOG("exported json");
- try {
- PlacesUtils.restoreBookmarksFromJSONFile(jsonFile);
- } catch(ex) { do_throw("couldn't import the exported file: " + ex); }
- LOG("imported json");
- validate();
- LOG("validated import");
+ waitForAsyncUpdates(function () {
+ // Test exporting a Places canonical json file.
+ // 1. export to bookmarks.exported.json
+ // 2. empty bookmarks db
+ // 3. import bookmarks.exported.json
+ // 4. run the test-suite
+ try {
+ PlacesUtils.backups.saveBookmarksToJSONFile(jsonFile);
+ } catch(ex) { do_throw("couldn't export to file: " + ex); }
+ LOG("exported json");
+ try {
+ PlacesUtils.restoreBookmarksFromJSONFile(jsonFile);
+ } catch(ex) { do_throw("couldn't import the exported file: " + ex); }
+ LOG("imported json");
+ validate();
+ LOG("validated import");
+
+ waitForAsyncUpdates(do_test_finished);
+ });
}
var tagData = [
{ uri: uri("http://slint.us"), tags: ["indie", "kentucky", "music"] },
{ uri: uri("http://en.wikipedia.org/wiki/Diplodocus"), tags: ["dinosaur", "dj", "rad word"] }
];
var bookmarkData = [
@@ -238,24 +238,27 @@ function testToolbarFolder() {
// child count (adding pre-existing items)
do_check_eq(toolbar.childCount, bookmarkData.length + DEFAULT_BOOKMARKS_ON_TOOLBAR);
// livemark
var livemark = toolbar.getChild(DEFAULT_BOOKMARKS_ON_TOOLBAR - 1);
// title
do_check_eq("Latest Headlines", livemark.title);
- // livemark check
- do_check_true(PlacesUtils.livemarks.isLivemark(livemark.itemId));
- // site url
- do_check_eq("http://en-us.fxfeeds.mozilla.com/en-US/firefox/livebookmarks/",
- PlacesUtils.livemarks.getSiteURI(livemark.itemId).spec);
- // feed url
- do_check_eq("http://en-us.fxfeeds.mozilla.com/en-US/firefox/headlines.xml",
- PlacesUtils.livemarks.getFeedURI(livemark.itemId).spec);
+
+ PlacesUtils.livemarks.getLivemark(
+ { id: livemark.itemId },
+ function (aStatus, aLivemark) {
+ do_check_true(Components.isSuccessCode(aStatus));
+ do_check_eq("http://en-us.fxfeeds.mozilla.com/en-US/firefox/livebookmarks/",
+ aLivemark.siteURI.spec);
+ do_check_eq("http://en-us.fxfeeds.mozilla.com/en-US/firefox/headlines.xml",
+ aLivemark.feedURI.spec);
+ }
+ );
// test added bookmark data
var child = toolbar.getChild(DEFAULT_BOOKMARKS_ON_TOOLBAR);
do_check_eq(child.uri, bookmarkData[0].uri.spec);
do_check_eq(child.title, bookmarkData[0].title);
child = toolbar.getChild(DEFAULT_BOOKMARKS_ON_TOOLBAR + 1);
do_check_eq(child.uri, bookmarkData[1].uri.spec);
do_check_eq(child.title, bookmarkData[1].title);
--- a/suite/common/places/tests/unit/test_457441-import-export-corrupt-bookmarks-html.js
+++ b/suite/common/places/tests/unit/test_457441-import-export-corrupt-bookmarks-html.js
@@ -10,17 +10,17 @@
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Bug 457441 code.
*
- * The Initial Developer of the Original Code is Mozilla Corp.
+ * The Initial Developer of the Original Code is the Mozilla Foundation.
* Portions created by the Initial Developer are Copyright (C) 2008
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Marco Bonardo <mak77@bonardo.net> (Original Author)
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
@@ -44,78 +44,80 @@
// Get Services
var hs = Cc["@mozilla.org/browser/nav-history-service;1"].
getService(Ci.nsINavHistoryService);
var dbConn = hs.QueryInterface(Ci.nsPIPlacesDatabase).DBConnection;
var bs = Cc["@mozilla.org/browser/nav-bookmarks-service;1"].
getService(Ci.nsINavBookmarksService);
var as = Cc["@mozilla.org/browser/annotation-service;1"].
getService(Ci.nsIAnnotationService);
-var lms = Cc["@mozilla.org/browser/livemark-service;2"].
- getService(Ci.nsILivemarkService);
var icos = Cc["@mozilla.org/browser/favicon-service;1"].
getService(Ci.nsIFaviconService);
var ps = Cc["@mozilla.org/preferences-service;1"].
getService(Ci.nsIPrefBranch);
var ies = Cc["@mozilla.org/browser/places/import-export-service;1"].
getService(Ci.nsIPlacesImportExportService);
const DESCRIPTION_ANNO = "bookmarkProperties/description";
const LOAD_IN_SIDEBAR_ANNO = "bookmarkProperties/loadInSidebar";
const POST_DATA_ANNO = "bookmarkProperties/POSTData";
const TEST_FAVICON_PAGE_URL = "http://www.seamonkey-project.org/";
const TEST_FAVICON_DATA_URL = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QwCEiUG/+wAegAAAu5JREFUOMtlk01oXFUUx3/3vfte3kydmeeQJgUTMsEaKX40tREbDHYE6UIXnZVUujCIiu3GKl0EXRh3ol1EF8WutItuuum4sRTRRXFRFGUyRPxIyVe1mK+ZZD46d968e6+LSduoFw7/c+D+Dv8D5wj+984NDQ4mz6TT/iiAMWCMRanO1urqnaJSZy/u/i12F2H46Qe5XGo6DAOMscSxQWuL1t08imI2NlRpba05CVOz/2qQSJx7+/DhfTPAPUhrQxwbJl54mHemJnCkg20pxh67sFStqlGY2pZd/OOjIyPZmTi+D91t0N+/h/enn2NuFW78aXm6dRvfd3NBIItK8bwEGB5Oz3iei1IxWpt7lrW2vPjKKKoDv65bMr5m4kiOvr4kjUaUh0+OO/DRwSBwR5WKabc1Smnu5zGFwgjfLsIv69CKDL+vG44dGyaKNK5rJ+XAQCqfTifY3Gzumrurp04dom0dlrag3gZtBc2OIZPpIZVK0tubycuxsSfD44VnsQaMBbsTxsDBIx3O/2hRsSAbWFwBf21b8vmn6N83zvz8SijL5YhGo47rguOC0YZsVjI+nuAP7RNpCANLpREzkBYMZly+vhxRLivq9Ri5vLxdqlQaaA1as2MfTp7u4fqGS0dbDvVp6hlBJrD0bFkuXarheaBUpSS1Xii1WvsxJovWXfufnX+QK5uSB3xN0tGkfIdHeyFahddfqxIEAs+DZvPv0s4iXf1CiCcmoQvf2Bvw8oEYAazUBM/sFfz8XZsLnzdRyiKlwJg15uau5XYWafYMpAvvvvd4OD+U4PRDMeYO3F7QbP7W4c1ii1YLPA+CQCBExK1b5Wk4uywArLVDxZ+aX6qeZD5ZiXjrRAXP69qUsqueJ5ASoqjC4uIP07Xaqx8CONbaK9+v2KUDuT3sV2uFky99U3TdJkEgCAJBItFVKSNqtYWlmzevT96FAYS19iiwJYSY3X3S2ewjBd8PQinBcaBaXSnV62989d/j/wcgGYelT45hgQAAAABJRU5ErkJggg==";
-// main
function run_test() {
+ do_test_pending();
+
// avoid creating the places smart folder during tests
ps.setIntPref("browser.places.smartBookmarksVersion", -1);
// import bookmarks from corrupt file
var corruptBookmarksFile = do_get_file("bookmarks.corrupt.html");
try {
ies.importHTMLFromFile(corruptBookmarksFile, true);
} catch(ex) { do_throw("couldn't import corrupt bookmarks file: " + ex); }
// Check that every bookmark is correct
// Corrupt bookmarks should not have been imported
database_check();
-
- // Create corruption in database
- var corruptItemId = bs.insertBookmark(bs.toolbarFolder,
- uri("http://test.mozilla.org"),
- bs.DEFAULT_INDEX, "We love belugas");
- var stmt = dbConn.createStatement("UPDATE moz_bookmarks SET fk = NULL WHERE id = :itemId");
- stmt.params.itemId = corruptItemId;
- stmt.execute();
- stmt.finalize();
+ waitForAsyncUpdates(function() {
+ // Create corruption in database
+ var corruptItemId = bs.insertBookmark(bs.toolbarFolder,
+ uri("http://test.mozilla.org"),
+ bs.DEFAULT_INDEX, "We love belugas");
+ var stmt = dbConn.createStatement("UPDATE moz_bookmarks SET fk = NULL WHERE id = :itemId");
+ stmt.params.itemId = corruptItemId;
+ stmt.execute();
+ stmt.finalize();
- // Export bookmarks
- var bookmarksFile = Services.dirsvc.get("ProfD", Ci.nsILocalFile);
- bookmarksFile.append("bookmarks.exported.html");
- if (bookmarksFile.exists())
- bookmarksFile.remove(false);
- bookmarksFile.create(Ci.nsILocalFile.NORMAL_FILE_TYPE, 0600);
- if (!bookmarksFile.exists())
- do_throw("couldn't create file: bookmarks.exported.html");
- try {
- ies.exportHTMLToFile(bookmarksFile);
- } catch(ex) { do_throw("couldn't export to bookmarks.exported.html: " + ex); }
+ // Export bookmarks
+ var bookmarksFile = Services.dirsvc.get("ProfD", Ci.nsILocalFile);
+ bookmarksFile.append("bookmarks.exported.html");
+ if (bookmarksFile.exists())
+ bookmarksFile.remove(false);
+ bookmarksFile.create(Ci.nsILocalFile.NORMAL_FILE_TYPE, 0600);
+ if (!bookmarksFile.exists())
+ do_throw("couldn't create file: bookmarks.exported.html");
+ try {
+ ies.exportHTMLToFile(bookmarksFile);
+ } catch(ex) { do_throw("couldn't export to bookmarks.exported.html: " + ex); }
- // Clear all bookmarks
- remove_all_bookmarks();
+ // Clear all bookmarks
+ remove_all_bookmarks();
- // Import bookmarks
- try {
- ies.importHTMLFromFile(bookmarksFile, true);
- } catch(ex) { do_throw("couldn't import the exported file: " + ex); }
+ // Import bookmarks
+ try {
+ ies.importHTMLFromFile(bookmarksFile, true);
+ } catch(ex) { do_throw("couldn't import the exported file: " + ex); }
- // Check that every bookmark is correct
- database_check();
+ // Check that every bookmark is correct
+ database_check();
+
+ waitForAsyncUpdates(do_test_finished);
+ });
}
/*
* Check for imported bookmarks correctness
*/
function database_check() {
// BOOKMARKS MENU
var query = hs.getNewQuery();
@@ -187,24 +189,26 @@ function database_check() {
var toolbar = result.root;
toolbar.containerOpen = true;
do_check_eq(toolbar.childCount, DEFAULT_BOOKMARKS_ON_TOOLBAR + 1);
// livemark
var livemark = toolbar.getChild(DEFAULT_BOOKMARKS_ON_TOOLBAR - 1);
// title
do_check_eq("Latest Headlines", livemark.title);
- // livemark check
- do_check_true(lms.isLivemark(livemark.itemId));
- // site url
- do_check_eq("http://en-us.fxfeeds.mozilla.com/en-US/firefox/livebookmarks/",
- lms.getSiteURI(livemark.itemId).spec);
- // feed url
- do_check_eq("http://en-us.fxfeeds.mozilla.com/en-US/firefox/headlines.xml",
- lms.getFeedURI(livemark.itemId).spec);
+ PlacesUtils.livemarks.getLivemark(
+ { id: livemark.itemId },
+ function (aStatus, aLivemark) {
+ do_check_true(Components.isSuccessCode(aStatus));
+ do_check_eq("http://en-us.fxfeeds.mozilla.com/en-US/firefox/livebookmarks/",
+ aLivemark.siteURI.spec);
+ do_check_eq("http://en-us.fxfeeds.mozilla.com/en-US/firefox/headlines.xml",
+ aLivemark.feedURI.spec);
+ }
+ );
// cleanup
toolbar.containerOpen = false;
// UNFILED BOOKMARKS
query.setFolders([bs.unfiledBookmarksFolder], 1);
result = hs.executeQuery(query, hs.getNewQueryOptions());
var unfiledBookmarks = result.root;
--- a/suite/common/places/tests/unit/test_placesTxn.js
+++ b/suite/common/places/tests/unit/test_placesTxn.js
@@ -34,17 +34,16 @@
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
var bmsvc = PlacesUtils.bookmarks;
-var lmsvc = PlacesUtils.livemarks;
var ptSvc = PlacesUIUtils.ptm;
var tagssvc = PlacesUtils.tagging;
var annosvc = PlacesUtils.annotations;
// create and add bookmarks observer
var observer = {
onBeginUpdateBatch: function() {
this._beginUpdateBatch = true;
@@ -414,94 +413,16 @@ function run_test() {
do_check_eq(observer._itemChangedId, bkmk1Id);
do_check_eq(observer._itemChangedProperty, "keyword");
do_check_eq(observer._itemChangedValue, "kw1");
txn11.undoTransaction();
do_check_eq(observer._itemChangedId, bkmk1Id);
do_check_eq(observer._itemChangedProperty, "keyword");
do_check_eq(observer._itemChangedValue, "");
- // Testing create livemark
- var txn12 = ptSvc.createLivemark(uri("http://feeduri.com"),
- uri("http://siteuri.com"),
- "Livemark1", root);
- txn12.doTransaction();
- var lvmkId = observer._itemAddedId;
- do_check_true(lmsvc.isLivemark(lvmkId));
- do_check_eq(lmsvc.getSiteURI(lvmkId).spec, "http://siteuri.com/");
- do_check_eq(lmsvc.getFeedURI(lvmkId).spec, "http://feeduri.com/");
- txn12.undoTransaction();
- do_check_false(lmsvc.isLivemark(lvmkId));
- txn12.redoTransaction();
- lvmkId = observer._itemAddedId;
- do_check_true(lmsvc.isLivemark(lvmkId));
- do_check_eq(lmsvc.getSiteURI(lvmkId).spec, "http://siteuri.com/");
- do_check_eq(lmsvc.getFeedURI(lvmkId).spec, "http://feeduri.com/");
-
- // editLivemarkSiteURI
- var txn13 = ptSvc.editLivemarkSiteURI(lvmkId, uri("http://new-siteuri.com/"));
- txn13.doTransaction();
- do_check_eq(observer._itemChangedId, lvmkId);
- do_check_eq(observer._itemChangedProperty, "livemark/siteURI");
- do_check_eq(lmsvc.getSiteURI(lvmkId).spec, "http://new-siteuri.com/");
- txn13.undoTransaction();
- do_check_eq(observer._itemChangedId, lvmkId);
- do_check_eq(observer._itemChangedProperty, "livemark/siteURI");
- do_check_eq(observer._itemChangedValue, "");
- do_check_eq(lmsvc.getSiteURI(lvmkId).spec, "http://siteuri.com/");
- txn13.redoTransaction();
- do_check_eq(observer._itemChangedId, lvmkId);
- do_check_eq(observer._itemChangedProperty, "livemark/siteURI");
- do_check_eq(lmsvc.getSiteURI(lvmkId).spec, "http://new-siteuri.com/");
- txn13.undoTransaction();
- do_check_eq(observer._itemChangedId, lvmkId);
- do_check_eq(observer._itemChangedProperty, "livemark/siteURI");
- do_check_eq(observer._itemChangedValue, "");
- do_check_eq(lmsvc.getSiteURI(lvmkId).spec, "http://siteuri.com/");
-
- // editLivemarkFeedURI
- var txn14 = ptSvc.editLivemarkFeedURI(lvmkId, uri("http://new-feeduri.com/"));
- txn14.doTransaction();
- do_check_eq(observer._itemChangedId, lvmkId);
- do_check_eq(observer._itemChangedProperty, "livemark/feedURI");
- do_check_eq(lmsvc.getFeedURI(lvmkId).spec, "http://new-feeduri.com/");
- txn14.undoTransaction();
- do_check_eq(observer._itemChangedId, lvmkId);
- do_check_eq(observer._itemChangedProperty, "livemark/feedURI");
- do_check_eq(observer._itemChangedValue, "");
- do_check_eq(lmsvc.getFeedURI(lvmkId).spec, "http://feeduri.com/");
- txn14.redoTransaction();
- do_check_eq(observer._itemChangedId, lvmkId);
- do_check_eq(observer._itemChangedProperty, "livemark/feedURI");
- do_check_eq(observer._itemChangedValue, "");
- do_check_eq(lmsvc.getFeedURI(lvmkId).spec, "http://new-feeduri.com/");
- txn14.undoTransaction();
- do_check_eq(observer._itemChangedId, lvmkId);
- do_check_eq(observer._itemChangedProperty, "livemark/feedURI");
- do_check_eq(observer._itemChangedValue, "");
- do_check_eq(lmsvc.getFeedURI(lvmkId).spec, "http://feeduri.com/");
-
- // Testing remove livemark
- // Set an annotation and check that we don't lose it on undo
- annosvc.setItemAnnotation(lvmkId, "livemark/testAnno", "testAnno",
- 0, annosvc.EXPIRE_NEVER);
- var txn15 = ptSvc.removeItem(lvmkId);
- txn15.doTransaction();
- do_check_false(lmsvc.isLivemark(lvmkId));
- do_check_eq(observer._itemRemovedId, lvmkId);
- txn15.undoTransaction();
- lvmkId = observer._itemAddedId;
- do_check_true(lmsvc.isLivemark(lvmkId));
- do_check_eq(lmsvc.getSiteURI(lvmkId).spec, "http://siteuri.com/");
- do_check_eq(lmsvc.getFeedURI(lvmkId).spec, "http://feeduri.com/");
- do_check_eq(annosvc.getItemAnnotation(lvmkId, "livemark/testAnno"), "testAnno");
- txn15.redoTransaction();
- do_check_false(lmsvc.isLivemark(lvmkId));
- do_check_eq(observer._itemRemovedId, lvmkId);
-
// Test LoadInSidebar transaction.
var txn16 = ptSvc.setLoadInSidebar(bkmk1Id, true);
txn16.doTransaction();
do_check_eq(observer._itemChangedId, bkmk1Id);
do_check_eq(observer._itemChangedProperty, PlacesUIUtils.LOAD_IN_SIDEBAR_ANNO);
do_check_eq(observer._itemChanged_isAnnotationProperty, true);
txn16.undoTransaction();
do_check_eq(observer._itemChangedId, bkmk1Id);
--- a/suite/common/places/tests/unit/test_txnGUIDs.js
+++ b/suite/common/places/tests/unit/test_txnGUIDs.js
@@ -36,52 +36,69 @@
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
/**
* This test will ensure any transactions service that is going to create
* a new item, won't replace the GUID when undoing and redoing the action.
*/
-var bmsvc = PlacesUtils.bookmarks;
-var txnsvc = PlacesUIUtils.ptm;
function test_GUID_persistance(aTxn) {
aTxn.doTransaction();
- var itemId = bmsvc.getIdForItemAt(bmsvc.unfiledBookmarksFolder, 0);
- var GUID = bmsvc.getItemGUID(itemId);
- aTxn.undoTransaction();
- aTxn.redoTransaction();
- do_check_eq(GUID, bmsvc.getItemGUID(itemId));
- aTxn.undoTransaction();
+ waitForAsyncUpdates(function () {
+ let itemId = PlacesUtils.bookmarks
+ .getIdForItemAt(PlacesUtils.unfiledBookmarksFolderId, 0);
+ let GUID = PlacesUtils.bookmarks.getItemGUID(itemId);
+ aTxn.undoTransaction();
+ aTxn.redoTransaction();
+ waitForAsyncUpdates(function() {
+ let itemId = PlacesUtils.bookmarks
+ .getIdForItemAt(PlacesUtils.unfiledBookmarksFolderId, 0);
+ do_check_eq(GUID, PlacesUtils.bookmarks.getItemGUID(itemId));
+ aTxn.undoTransaction();
+ waitForAsyncUpdates(run_next_test);
+ });
+ });
}
function run_test() {
- // Create folder.
- var createFolderTxn = txnsvc.createFolder("Test folder",
- bmsvc.unfiledBookmarksFolder,
- bmsvc.DEFAULT_INDEX);
- test_GUID_persistance(createFolderTxn);
+ run_next_test();
+}
- // Create bookmark.
- var createBookmarkTxn = txnsvc.createItem(uri("http://www.example.com"),
- bmsvc.unfiledBookmarksFolder,
- bmsvc.DEFAULT_INDEX,
- "Test bookmark");
+add_test(function create_folder() {
+ let createFolderTxn = new PlacesCreateFolderTransaction(
+ "Test folder", PlacesUtils.unfiledBookmarksFolderId,
+ PlacesUtils.bookmarks.DEFAULT_INDEX
+ );
+ test_GUID_persistance(createFolderTxn);
+});
+
+add_test(function create_bookmark() {
+ let createBookmarkTxn = new PlacesCreateBookmarkTransaction(
+ NetUtil.newURI("http://www.example.com"), PlacesUtils.unfiledBookmarksFolderId,
+ PlacesUtils.bookmarks.DEFAULT_INDEX, "Test bookmark"
+ );
test_GUID_persistance(createBookmarkTxn);
+});
- // Create separator.
- var createSeparatorTxn = txnsvc.createSeparator(bmsvc.unfiledBookmarksFolder,
- bmsvc.DEFAULT_INDEX);
- test_GUID_persistance(createFolderTxn);
+add_test(function create_separator() {
+ let createSeparatorTxn = new PlacesCreateSeparatorTransaction(
+ PlacesUtils.unfiledBookmarksFolderId, PlacesUtils.bookmarks.DEFAULT_INDEX
+ );
+ test_GUID_persistance(createSeparatorTxn);
+});
- // Create livemark.
- var createLivemarkTxn = txnsvc.createLivemark(uri("http://feeduri.com"),
- uri("http://siteuri.com"),
- "Test livemark",
- bmsvc.unfiledBookmarksFolder,
- bmsvc.DEFAULT_INDEX);
+add_test(function tag_uri() {
+ let tagURITxn = new PlacesTagURITransaction(
+ NetUtil.newURI("http://www.example.com"), ["foo"]
+ );
+ test_GUID_persistance(tagURITxn);
+});
+
+add_test(function create_livemark() {
+ let createLivemarkTxn = new PlacesCreateLivemarkTransaction(
+ NetUtil.newURI("http://feeduri.com"), NetUtil.newURI("http://siteuri.com"),
+ "Test livemark", PlacesUtils.unfiledBookmarksFolderId,
+ PlacesUtils.bookmarks.DEFAULT_INDEX
+ );
test_GUID_persistance(createLivemarkTxn);
-
- // Tag URI.
- var tagURITxn = txnsvc.tagURI(uri("http://www.example.com"), ["foo"]);
- test_GUID_persistance(tagURITxn);
-}
+});