diff options
Diffstat (limited to 'toolkit/components/places/tests/unit/test_384370.js')
-rw-r--r-- | toolkit/components/places/tests/unit/test_384370.js | 173 |
1 files changed, 0 insertions, 173 deletions
diff --git a/toolkit/components/places/tests/unit/test_384370.js b/toolkit/components/places/tests/unit/test_384370.js deleted file mode 100644 index ec6f43683e..0000000000 --- a/toolkit/components/places/tests/unit/test_384370.js +++ /dev/null @@ -1,173 +0,0 @@ -const LOAD_IN_SIDEBAR_ANNO = "bookmarkProperties/loadInSidebar"; -const DESCRIPTION_ANNO = "bookmarkProperties/description"; - -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 = [ - { uri: uri("http://slint.us"), title: "indie, kentucky, music" }, - { uri: uri("http://en.wikipedia.org/wiki/Diplodocus"), title: "dinosaur, dj, rad word" } -]; - -function run_test() { - run_next_test(); -} - -/* - 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 - - tag multiple URIs with multiple tags - - export as json, import, test -*/ -add_task(function* () { - // Remove eventual bookmarks.exported.json. - let jsonFile = OS.Path.join(OS.Constants.Path.profileDir, "bookmarks.exported.json"); - if ((yield OS.File.exists(jsonFile))) - yield OS.File.remove(jsonFile); - - // Test importing a pre-Places canonical bookmarks file. - // Note: we do not empty the db before this import to catch bugs like 380999 - let htmlFile = OS.Path.join(do_get_cwd().path, "bookmarks.preplaces.html"); - yield BookmarkHTMLUtils.importFromFile(htmlFile, true); - - // Populate the database. - for (let { uri, tags } of tagData) { - PlacesUtils.tagging.tagURI(uri, tags); - } - for (let { uri, title } of bookmarkData) { - yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid, - url: uri, - title }); - } - for (let { uri, title } of bookmarkData) { - yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.toolbarGuid, - url: uri, - title }); - } - - yield validate(); - - // Test exporting a Places canonical json file. - // 1. export to bookmarks.exported.json - yield BookmarkJSONUtils.exportToFile(jsonFile); - do_print("exported json"); - - // 2. empty bookmarks db - // 3. import bookmarks.exported.json - yield BookmarkJSONUtils.importFromFile(jsonFile, true); - do_print("imported json"); - - // 4. run the test-suite - yield validate(); - do_print("validated import"); -}); - -function* validate() { - yield testMenuBookmarks(); - yield testToolbarBookmarks(); - testUnfiledBookmarks(); - testTags(); - yield PlacesTestUtils.promiseAsyncUpdates(); -} - -// Tests a bookmarks datastore that has a set of bookmarks, etc -// that flex each supported field and feature. -function* testMenuBookmarks() { - let root = PlacesUtils.getFolderContents(PlacesUtils.bookmarksMenuFolderId).root; - Assert.equal(root.childCount, 3); - - let separatorNode = root.getChild(1); - Assert.equal(separatorNode.type, separatorNode.RESULT_TYPE_SEPARATOR); - - let folderNode = root.getChild(2); - Assert.equal(folderNode.type, folderNode.RESULT_TYPE_FOLDER); - Assert.equal(folderNode.title, "test"); - let folder = yield PlacesUtils.bookmarks.fetch(folderNode.bookmarkGuid); - Assert.equal(folder.dateAdded.getTime(), 1177541020000); - - Assert.equal(PlacesUtils.asQuery(folderNode).hasChildren, true); - - Assert.equal("folder test comment", - PlacesUtils.annotations.getItemAnnotation(folderNode.itemId, - DESCRIPTION_ANNO)); - - // open test folder, and test the children - folderNode.containerOpen = true; - Assert.equal(folderNode.childCount, 1); - - let bookmarkNode = folderNode.getChild(0); - Assert.equal("http://test/post", bookmarkNode.uri); - Assert.equal("test post keyword", bookmarkNode.title); - Assert.ok(PlacesUtils.annotations.itemHasAnnotation(bookmarkNode.itemId, - LOAD_IN_SIDEBAR_ANNO)); - Assert.equal(bookmarkNode.dateAdded, 1177375336000000); - - let entry = yield PlacesUtils.keywords.fetch({ url: bookmarkNode.uri }); - Assert.equal("test", entry.keyword); - Assert.equal("hidden1%3Dbar&text1%3D%25s", entry.postData); - - Assert.equal("ISO-8859-1", - (yield PlacesUtils.getCharsetForURI(NetUtil.newURI(bookmarkNode.uri)))); - Assert.equal("item description", - PlacesUtils.annotations.getItemAnnotation(bookmarkNode.itemId, - DESCRIPTION_ANNO)); - - folderNode.containerOpen = false; - root.containerOpen = false; -} - -function* testToolbarBookmarks() { - let root = PlacesUtils.getFolderContents(PlacesUtils.toolbarFolderId).root; - - // child count (add 2 for pre-existing items) - Assert.equal(root.childCount, bookmarkData.length + 2); - - let livemarkNode = root.getChild(1); - Assert.equal("Latest Headlines", livemarkNode.title); - - let livemark = yield PlacesUtils.livemarks.getLivemark({ id: livemarkNode.itemId }); - Assert.equal("http://en-us.fxfeeds.mozilla.com/en-US/firefox/livebookmarks/", - livemark.siteURI.spec); - Assert.equal("http://en-us.fxfeeds.mozilla.com/en-US/firefox/headlines.xml", - livemark.feedURI.spec); - - // test added bookmark data - let bookmarkNode = root.getChild(2); - Assert.equal(bookmarkNode.uri, bookmarkData[0].uri.spec); - Assert.equal(bookmarkNode.title, bookmarkData[0].title); - bookmarkNode = root.getChild(3); - Assert.equal(bookmarkNode.uri, bookmarkData[1].uri.spec); - Assert.equal(bookmarkNode.title, bookmarkData[1].title); - - root.containerOpen = false; -} - -function testUnfiledBookmarks() { - let root = PlacesUtils.getFolderContents(PlacesUtils.unfiledBookmarksFolderId).root; - // child count (add 1 for pre-existing item) - Assert.equal(root.childCount, bookmarkData.length + 1); - for (let i = 1; i < root.childCount; ++i) { - let child = root.getChild(i); - Assert.equal(child.uri, bookmarkData[i - 1].uri.spec); - Assert.equal(child.title, bookmarkData[i - 1].title); - if (child.tags) - Assert.equal(child.tags, bookmarkData[i - 1].title); - } - root.containerOpen = false; -} - -function testTags() { - for (let { uri, tags } of tagData) { - do_print("Test tags for " + uri.spec + ": " + tags + "\n"); - let foundTags = PlacesUtils.tagging.getTagsForURI(uri); - Assert.equal(foundTags.length, tags.length); - Assert.ok(tags.every(tag => foundTags.includes(tag))); - } -} |