mirror of
https://github.com/classilla/tenfourfox.git
synced 2025-02-11 06:31:26 +00:00
73 lines
2.5 KiB
JavaScript
73 lines
2.5 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
Cu.import("resource://gre/modules/CloudSync.jsm");
|
|
|
|
function run_test () {
|
|
run_next_test();
|
|
}
|
|
|
|
function cleanup () {
|
|
|
|
}
|
|
|
|
add_task(function* test_merge_bookmarks_flat () {
|
|
try {
|
|
let rootFolder = yield CloudSync().bookmarks.getRootFolder("TEST");
|
|
ok(rootFolder.id, "root folder id is ok");
|
|
|
|
let items = [
|
|
{"id":"G_UL4ZhOyX8m","type":rootFolder.BOOKMARK,"title":"reddit: the front page of the internet 1","uri":"http://www.reddit.com",index:2},
|
|
{"id":"G_UL4ZhOyX8n","type":rootFolder.BOOKMARK,"title":"reddit: the front page of the internet 2","uri":"http://www.reddit.com?1",index:1},
|
|
];
|
|
yield rootFolder.mergeRemoteItems(items);
|
|
|
|
let localItems = yield rootFolder.getLocalItems();
|
|
equal(Object.keys(localItems).length, items.length, "found merged items");
|
|
} finally {
|
|
yield CloudSync().bookmarks.deleteRootFolder("TEST");
|
|
}
|
|
});
|
|
|
|
add_task(function* test_merge_bookmarks_in_folders () {
|
|
try {
|
|
let rootFolder = yield CloudSync().bookmarks.getRootFolder("TEST");
|
|
ok(rootFolder.id, "root folder id is ok");
|
|
|
|
let items = [
|
|
{"id":"G_UL4ZhOyX8m","type":rootFolder.BOOKMARK,"title":"reddit: the front page of the internet 1","uri":"http://www.reddit.com",index:2},
|
|
{"id":"G_UL4ZhOyX8n","type":rootFolder.BOOKMARK,parent:"G_UL4ZhOyX8x","title":"reddit: the front page of the internet 2","uri":"http://www.reddit.com/?a=å%20ä%20ö",index:1},
|
|
{"id":"G_UL4ZhOyX8x","type":rootFolder.FOLDER},
|
|
];
|
|
yield rootFolder.mergeRemoteItems(items);
|
|
|
|
let localItems = yield rootFolder.getLocalItems();
|
|
equal(localItems.length, items.length, "found merged items");
|
|
|
|
localItems.forEach(function(item) {
|
|
ok(item.id == "G_UL4ZhOyX8m" ||
|
|
item.id == "G_UL4ZhOyX8n" ||
|
|
item.id == "G_UL4ZhOyX8x");
|
|
if (item.id == "G_UL4ZhOyX8n") {
|
|
equal(item.parent, "G_UL4ZhOyX8x")
|
|
} else {
|
|
equal(item.parent, rootFolder.id);
|
|
}
|
|
});
|
|
|
|
let folder = (yield rootFolder.getLocalItemsById(["G_UL4ZhOyX8x"]))[0];
|
|
equal(folder.id, "G_UL4ZhOyX8x");
|
|
equal(folder.type, rootFolder.FOLDER);
|
|
|
|
let bookmark = (yield rootFolder.getLocalItemsById(["G_UL4ZhOyX8n"]))[0];
|
|
equal(bookmark.id, "G_UL4ZhOyX8n");
|
|
equal(bookmark.parent, "G_UL4ZhOyX8x");
|
|
equal(bookmark.title, "reddit: the front page of the internet 2");
|
|
equal(bookmark.index, 0);
|
|
equal(bookmark.uri, "http://www.reddit.com/?a=%C3%A5%20%C3%A4%20%C3%B6");
|
|
} finally {
|
|
yield CloudSync().bookmarks.deleteRootFolder("TEST");
|
|
}
|
|
}); |