зеркало из https://github.com/mozilla/gecko-dev.git
Bug 855190 - Use new async getCharsetForURI in /toolkit/components/places/tests/unit/test_bookmarks_json.js. r=mak
This commit is contained in:
Родитель
53ca4cbef7
Коммит
fe05965115
|
@ -306,9 +306,8 @@ function testImportedBookmarksToFolder(aFolder)
|
|||
function checkItem(aExpected, aNode)
|
||||
{
|
||||
let id = aNode.itemId;
|
||||
let deferred = Promise.defer();
|
||||
|
||||
Task.spawn(function() {
|
||||
return Task.spawn(function() {
|
||||
for (prop in aExpected) {
|
||||
switch (prop) {
|
||||
case "type":
|
||||
|
@ -401,7 +400,5 @@ function checkItem(aExpected, aNode)
|
|||
throw new Error("Unknown property");
|
||||
}
|
||||
}
|
||||
}).then(deferred.resolve);
|
||||
|
||||
return deferred.promise;
|
||||
});
|
||||
}
|
||||
|
|
|
@ -78,7 +78,7 @@ add_task(function test_import_bookmarks() {
|
|||
bookmarksFile = do_get_file("bookmarks.json");
|
||||
|
||||
yield BookmarkJSONUtils.importFromFile(bookmarksFile, true);
|
||||
testImportedBookmarks();
|
||||
yield testImportedBookmarks();
|
||||
});
|
||||
|
||||
add_task(function test_export_bookmarks() {
|
||||
|
@ -90,7 +90,7 @@ add_task(function test_export_bookmarks() {
|
|||
add_task(function test_import_exported_bookmarks() {
|
||||
remove_all_bookmarks();
|
||||
yield BookmarkJSONUtils.importFromFile(bookmarksExportedFile, true);
|
||||
testImportedBookmarks();
|
||||
yield testImportedBookmarks();
|
||||
});
|
||||
|
||||
add_task(function test_import_ontop() {
|
||||
|
@ -98,7 +98,7 @@ add_task(function test_import_ontop() {
|
|||
yield BookmarkJSONUtils.importFromFile(bookmarksExportedFile, true);
|
||||
yield BookmarkJSONUtils.exportToFile(bookmarksExportedFile);
|
||||
yield BookmarkJSONUtils.importFromFile(bookmarksExportedFile, true);
|
||||
testImportedBookmarks();
|
||||
yield testImportedBookmarks();
|
||||
});
|
||||
|
||||
add_task(function test_clean() {
|
||||
|
@ -128,7 +128,9 @@ function testImportedBookmarks() {
|
|||
let items = test_bookmarks[group];
|
||||
do_check_eq(root.childCount, items.length);
|
||||
|
||||
items.forEach(function (item, index) checkItem(item, root.getChild(index)));
|
||||
for (let key in items) {
|
||||
yield checkItem(items[key], root.getChild(key));
|
||||
}
|
||||
|
||||
root.containerOpen = false;
|
||||
}
|
||||
|
@ -136,85 +138,94 @@ function testImportedBookmarks() {
|
|||
|
||||
function checkItem(aExpected, aNode) {
|
||||
let id = aNode.itemId;
|
||||
for (prop in aExpected) {
|
||||
switch (prop) {
|
||||
case "type":
|
||||
do_check_eq(aNode.type, aExpected.type);
|
||||
break;
|
||||
case "title":
|
||||
do_check_eq(aNode.title, aExpected.title);
|
||||
break;
|
||||
case "description":
|
||||
do_check_eq(PlacesUtils.annotations.getItemAnnotation(
|
||||
id, DESCRIPTION_ANNO), aExpected.description);
|
||||
break;
|
||||
case "dateAdded":
|
||||
|
||||
return Task.spawn(function() {
|
||||
for (prop in aExpected) {
|
||||
switch (prop) {
|
||||
case "type":
|
||||
do_check_eq(aNode.type, aExpected.type);
|
||||
break;
|
||||
case "title":
|
||||
do_check_eq(aNode.title, aExpected.title);
|
||||
break;
|
||||
case "description":
|
||||
do_check_eq(PlacesUtils.annotations.getItemAnnotation(
|
||||
id, DESCRIPTION_ANNO), aExpected.description);
|
||||
break;
|
||||
case "dateAdded":
|
||||
do_check_eq(PlacesUtils.bookmarks.getItemDateAdded(id),
|
||||
aExpected.dateAdded);
|
||||
break;
|
||||
case "lastModified":
|
||||
break;
|
||||
case "lastModified":
|
||||
do_check_eq(PlacesUtils.bookmarks.getItemLastModified(id),
|
||||
aExpected.lastModified);
|
||||
break;
|
||||
case "url":
|
||||
PlacesUtils.livemarks.getLivemark(
|
||||
{ id: id },
|
||||
function (aStatus, aLivemark) {
|
||||
if (!Components.isSuccessCode(aStatus)) {
|
||||
do_check_eq(aNode.uri, aExpected.url);
|
||||
}
|
||||
}
|
||||
);
|
||||
break;
|
||||
case "icon":
|
||||
let deferred = Promise.defer();
|
||||
PlacesUtils.favicons.getFaviconDataForPage(
|
||||
NetUtil.newURI(aExpected.url),
|
||||
function (aURI, aDataLen, aData, aMimeType) {
|
||||
let base64Icon = "data:image/png;base64," +
|
||||
base64EncodeString(String.fromCharCode.apply(String, aData));
|
||||
do_check_true(base64Icon == aExpected.icon);
|
||||
deferred.resolve();
|
||||
});
|
||||
return deferred.promise;
|
||||
break;
|
||||
case "keyword":
|
||||
break;
|
||||
case "sidebar":
|
||||
do_check_eq(PlacesUtils.annotations.itemHasAnnotation(
|
||||
id, LOAD_IN_SIDEBAR_ANNO), aExpected.sidebar);
|
||||
break;
|
||||
case "postData":
|
||||
do_check_eq(PlacesUtils.annotations.getItemAnnotation(
|
||||
id, PlacesUtils.POST_DATA_ANNO), aExpected.postData);
|
||||
break;
|
||||
case "charset":
|
||||
do_check_eq(PlacesUtils.history.getCharsetForURI(
|
||||
NetUtil.newURI(aNode.uri)), aExpected.charset);
|
||||
break;
|
||||
case "feedUrl":
|
||||
PlacesUtils.livemarks.getLivemark(
|
||||
{ id: id },
|
||||
function (aStatus, aLivemark) {
|
||||
do_check_true(Components.isSuccessCode(aStatus));
|
||||
do_check_eq(aLivemark.siteURI.spec, aExpected.url);
|
||||
do_check_eq(aLivemark.feedURI.spec, Expected.feedUrl);
|
||||
}
|
||||
);
|
||||
break;
|
||||
case "children":
|
||||
let folder = aNode.QueryInterface(Ci.nsINavHistoryContainerResultNode);
|
||||
do_check_eq(folder.hasChildren, aExpected.children.length > 0);
|
||||
folder.containerOpen = true;
|
||||
do_check_eq(folder.childCount, aExpected.children.length);
|
||||
break;
|
||||
case "url":
|
||||
yield function() {
|
||||
let deferred = Promise.defer();
|
||||
PlacesUtils.livemarks.getLivemark(
|
||||
{ id: id },
|
||||
function (aStatus, aLivemark) {
|
||||
if (!Components.isSuccessCode(aStatus)) {
|
||||
do_check_eq(aNode.uri, aExpected.url);
|
||||
}
|
||||
deferred.resolve();
|
||||
});
|
||||
return deferred.promise; }();
|
||||
break;
|
||||
case "icon":
|
||||
yield function() {
|
||||
let deferred = Promise.defer();
|
||||
PlacesUtils.favicons.getFaviconDataForPage(
|
||||
NetUtil.newURI(aExpected.url),
|
||||
function (aURI, aDataLen, aData, aMimeType) {
|
||||
let base64Icon = "data:image/png;base64," +
|
||||
base64EncodeString(String.fromCharCode.apply(String, aData));
|
||||
do_check_true(base64Icon == aExpected.icon);
|
||||
deferred.resolve();
|
||||
});
|
||||
return deferred.promise; }();
|
||||
break;
|
||||
case "keyword":
|
||||
break;
|
||||
case "sidebar":
|
||||
do_check_eq(PlacesUtils.annotations.itemHasAnnotation(
|
||||
id, LOAD_IN_SIDEBAR_ANNO), aExpected.sidebar);
|
||||
break;
|
||||
case "postData":
|
||||
do_check_eq(PlacesUtils.annotations.getItemAnnotation(
|
||||
id, PlacesUtils.POST_DATA_ANNO), aExpected.postData);
|
||||
break;
|
||||
case "charset":
|
||||
let testURI = NetUtil.newURI(aNode.uri);
|
||||
do_check_eq((yield PlacesUtils.getCharsetForURI(testURI)), aExpected.charset);
|
||||
break;
|
||||
case "feedUrl":
|
||||
yield function() {
|
||||
let deferred = Promise.defer();
|
||||
PlacesUtils.livemarks.getLivemark(
|
||||
{ id: id },
|
||||
function (aStatus, aLivemark) {
|
||||
do_check_true(Components.isSuccessCode(aStatus));
|
||||
do_check_eq(aLivemark.siteURI.spec, aExpected.url);
|
||||
do_check_eq(aLivemark.feedURI.spec, aExpected.feedUrl);
|
||||
deferred.resolve();
|
||||
});
|
||||
return deferred.promise; }();
|
||||
break;
|
||||
case "children":
|
||||
let folder = aNode.QueryInterface(Ci.nsINavHistoryContainerResultNode);
|
||||
do_check_eq(folder.hasChildren, aExpected.children.length > 0);
|
||||
folder.containerOpen = true;
|
||||
do_check_eq(folder.childCount, aExpected.children.length);
|
||||
|
||||
aExpected.children.forEach(
|
||||
function (item, index) checkItem(item, folder.getChild(index)));
|
||||
aExpected.children.forEach(function (item, index) checkItem(item, folder.getChild(index)));
|
||||
|
||||
folder.containerOpen = false;
|
||||
break;
|
||||
default:
|
||||
throw new Error("Unknown property");
|
||||
folder.containerOpen = false;
|
||||
break;
|
||||
default:
|
||||
throw new Error("Unknown property");
|
||||
}
|
||||
}
|
||||
};
|
||||
});
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче