Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5276)

Unified Diff: chrome/test/data/extensions/api_test/bookmarks/test.js

Issue 192028: finished testing functions and added events to bookmark tests. (Closed)
Patch Set: feedback from review Created 11 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/renderer/resources/extension_apitest.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/data/extensions/api_test/bookmarks/test.js
diff --git a/chrome/test/data/extensions/api_test/bookmarks/test.js b/chrome/test/data/extensions/api_test/bookmarks/test.js
index 83d57458c78e990eebc4f21d89afb56591baf436..6c1fa1ba8aa1b1632d04f3b4b3f2f64ab70792bc 100644
--- a/chrome/test/data/extensions/api_test/bookmarks/test.js
+++ b/chrome/test/data/extensions/api_test/bookmarks/test.js
@@ -18,11 +18,13 @@ var node2 = {parentId:"1", title:"foo quux",
var node3 = {parentId:"1", title:"bar baz",
url:"http://www.google.com/hello/quux"};
-var testCallback = chrome.test.testCallback;
+var pass = chrome.test.callbackPass;
+var fail = chrome.test.callbackFail;
function compareNode(left, right) {
- //chrome.test.log(JSON.stringify(left));
- //chrome.test.log(JSON.stringify(right));
+ //chrome.test.log("compareNode()");
+ //chrome.test.log(JSON.stringify(left, null, 2));
+ //chrome.test.log(JSON.stringify(right, null, 2));
// TODO(erikkay): do some comparison of dateAdded
if (left.id != right.id)
return "id mismatch: " + left.id + " != " + right.id;
@@ -30,7 +32,7 @@ function compareNode(left, right) {
// TODO(erikkay): This resource dependency still isn't working reliably.
// See bug 19866.
// return "title mismatch: " + left.title + " != " + right.title;
- console.log("title mismatch: " + left.title + " != " + right.title);
+ chrome.test.log("title mismatch: " + left.title + " != " + right.title);
}
if (left.url != right.url)
return "url mismatch: " + left.url + " != " + right.url;
@@ -43,7 +45,6 @@ function compareTrees(left, right) {
//chrome.test.log(JSON.stringify(left) || "<null>");
//chrome.test.log(JSON.stringify(right) || "<null>");
if (left == null && right == null) {
- console.log("both left and right are NULL");
return true;
}
if (left == null || right == null)
@@ -53,8 +54,9 @@ function compareTrees(left, right) {
for (var i = 0; i < left.length; i++) {
var result = compareNode(left[i], right[i]);
if (result !== true) {
- console.log(JSON.stringify(left));
- console.log(JSON.stringify(right));
+ chrome.test.log(result);
+ chrome.test.log(JSON.stringify(left, null, 2));
+ chrome.test.log(JSON.stringify(right, null, 2));
return result;
}
result = compareTrees(left[i].children, right[i].children);
@@ -66,7 +68,7 @@ function compareTrees(left, right) {
chrome.test.runTests([
function getTree() {
- chrome.bookmarks.getTree(testCallback(true, function(results) {
+ chrome.bookmarks.getTree(pass(function(results) {
chrome.test.assertTrue(compareTrees(results, expected),
"getTree() result != expected");
expected = results;
@@ -74,13 +76,14 @@ chrome.test.runTests([
},
function get() {
- chrome.bookmarks.get("1", testCallback(true, function(results) {
+ chrome.bookmarks.get("1", pass(function(results) {
chrome.test.assertTrue(compareNode(results[0], expected[0].children[0]));
}));
+ chrome.bookmarks.get("42", fail(function(){}, "Can't find bookmark for id."));
},
function getArray() {
- chrome.bookmarks.get(["1", "2"], testCallback(true, function(results) {
+ chrome.bookmarks.get(["1", "2"], pass(function(results) {
chrome.test.assertTrue(compareNode(results[0], expected[0].children[0]),
"get() result != expected");
chrome.test.assertTrue(compareNode(results[1], expected[0].children[1]),
@@ -89,7 +92,7 @@ chrome.test.runTests([
},
function getChildren() {
- chrome.bookmarks.getChildren("0", testCallback(true, function(results) {
+ chrome.bookmarks.getChildren("0", pass(function(results) {
chrome.test.assertTrue(compareNode(results[0], expected[0].children[0]),
"getChildren() result != expected");
chrome.test.assertTrue(compareNode(results[1], expected[0].children[1]),
@@ -99,7 +102,13 @@ chrome.test.runTests([
function create() {
var node = {parentId:"1", title:"google", url:"http://www.google.com/"};
- chrome.bookmarks.create(node, testCallback(true, function(results) {
+ chrome.test.listenOnce(chrome.bookmarks.onCreated, function(id, created) {
+ node.id = created.id;
+ node.index = 0;
+ chrome.test.assertEq(id, node.id);
+ chrome.test.assertTrue(compareNode(node, created));
+ });
+ chrome.bookmarks.create(node, pass(function(results) {
node.id = results.id; // since we couldn't know this going in
node.index = 0;
chrome.test.assertTrue(compareNode(node, results),
@@ -107,10 +116,16 @@ chrome.test.runTests([
expected[0].children[0].children.push(node);
}));
},
-
+
function createFolder() {
var node = {parentId:"1", title:"foo bar"}; // folder
- chrome.bookmarks.create(node, testCallback(true, function(results) {
+ chrome.test.listenOnce(chrome.bookmarks.onCreated, function(id, created) {
+ node.id = created.id;
+ node.index = 1;
+ node.children = [];
+ chrome.test.assertTrue(compareNode(node, created));
+ });
+ chrome.bookmarks.create(node, pass(function(results) {
node.id = results.id; // since we couldn't know this going in
node.index = 1;
node.children = [];
@@ -119,94 +134,168 @@ chrome.test.runTests([
expected[0].children[0].children.push(node);
}));
},
-
+
function move_setup() {
- chrome.bookmarks.create(node1, testCallback(false, function(results) {
+ var bookmarks_bar = expected[0].children[0];
+ chrome.bookmarks.create(node1, pass(function(results) {
node1.id = results.id;
node1.index = results.index;
- expected[0].children[0].children.push(node1);
+ bookmarks_bar.children.push(node1);
}));
- chrome.bookmarks.create(node2, testCallback(false, function(results) {
+ chrome.bookmarks.create(node2, pass(function(results) {
node2.id = results.id;
node2.index = results.index;
- expected[0].children[0].children.push(node2);
+ bookmarks_bar.children.push(node2);
}));
- chrome.bookmarks.create(node3, testCallback(false, function(results) {
+ chrome.bookmarks.create(node3, pass(function(results) {
node3.id = results.id;
node3.index = results.index;
- expected[0].children[0].children.push(node3);
+ bookmarks_bar.children.push(node3);
}));
- chrome.bookmarks.getTree(testCallback(true, function(results) {
+ chrome.bookmarks.getTree(pass(function(results) {
chrome.test.assertTrue(compareTrees(expected, results),
"getTree() result != expected");
expected = results;
}));
},
-
+
function move() {
// Move node1, node2, and node3 from their current location (the bookmark
- // bar) to be under the "other bookmarks" folder instead.
- var other = expected[0].children[1];
- //var folder = expected[0].children[0].children[1];
- //console.log(JSON.stringify(node1));
- chrome.bookmarks.move(node1.id, {parentId:other.id},
- testCallback(false, function(results) {
- chrome.test.assertEq(results.parentId, other.id);
+ // bar) to be under the "foo bar" folder (created in createFolder()).
+ // Then move that folder to be under the "other bookmarks" folder.
+ var folder = expected[0].children[0].children[1];
+ var old_node1 = expected[0].children[0].children[2];
+ chrome.test.listenOnce(chrome.bookmarks.onMoved, function(id, moveInfo) {
+ chrome.test.assertEq(node1.id, id);
+ chrome.test.assertEq(moveInfo.parentId, folder.id);
+ chrome.test.assertEq(moveInfo.index, 0);
+ chrome.test.assertEq(moveInfo.oldParentId, old_node1.parentId);
+ chrome.test.assertEq(moveInfo.oldIndex, old_node1.index);
+ });
+ chrome.bookmarks.move(node1.id, {parentId:folder.id},
+ pass(function(results) {
+ chrome.test.assertEq(results.parentId, folder.id);
node1.parentId = results.parentId;
+ node1.index = 0;
}));
- chrome.bookmarks.move(node2.id, {parentId:other.id},
- testCallback(false, function(results) {
- chrome.test.assertEq(results.parentId, other.id);
- node3.parentId = results.parentId;
+ chrome.bookmarks.move(node2.id, {parentId:folder.id},
+ pass(function(results) {
+ chrome.test.assertEq(results.parentId, folder.id);
+ node2.parentId = results.parentId;
+ node2.index = 1;
}));
// Insert node3 at index 1 rather than at the end. This should result in
// an order of node1, node3, node2.
- chrome.bookmarks.move(node3.id, {parentId:other.id, index:1},
- testCallback(true, function(results) {
- chrome.test.assertEq(results.parentId, other.id);
+ chrome.bookmarks.move(node3.id, {parentId:folder.id, index:1},
+ pass(function(results) {
+ chrome.test.assertEq(results.parentId, folder.id);
chrome.test.assertEq(results.index, 1);
node3.parentId = results.parentId;
node3.index = 1;
+ node2.index = 2;
+ }));
+
+ chrome.bookmarks.getTree(pass(function(results) {
+ expected[0].children[0].children.pop();
+ expected[0].children[0].children.pop();
+ expected[0].children[0].children.pop();
+ folder.children.push(node1);
+ folder.children.push(node3);
+ folder.children.push(node2);
+ chrome.test.assertTrue(compareTrees(expected, results),
+ "getTree() result != expected");
+ expected = results;
+ }));
+
+ // Move folder (and its children) to be a child of Other Bookmarks.
+ var other = expected[0].children[1];
+ chrome.bookmarks.move(folder.id, {parentId:other.id},
+ pass(function(results) {
+ chrome.test.assertEq(results.parentId, other.id);
+ folder.parentId = results.parentId;
+ }));
+
+ chrome.bookmarks.getTree(pass(function(results) {
+ var folder = expected[0].children[0].children.pop();
+ folder.parentId = other.parentId;
+ folder.index = 0;
+ expected[0].children[1].children.push(folder);
+ chrome.test.assertTrue(compareTrees(expected, results),
+ "getTree() result != expected");
+ expected = results;
}));
},
-
+
function search() {
- chrome.bookmarks.search("baz bar", testCallback(false, function(results) {
+ chrome.bookmarks.search("baz bar", pass(function(results) {
// matches node1 & node3
- console.log(JSON.stringify(results));
chrome.test.assertEq(2, results.length);
}));
- chrome.bookmarks.search("www hello", testCallback(false, function(results) {
+ chrome.bookmarks.search("www hello", pass(function(results) {
// matches node1 & node3
chrome.test.assertEq(2, results.length);
}));
chrome.bookmarks.search("bar example",
- testCallback(false, function(results) {
+ pass(function(results) {
// matches node2
chrome.test.assertEq(1, results.length);
}));
- chrome.bookmarks.search("foo bar", testCallback(false, function(results) {
+ chrome.bookmarks.search("foo bar", pass(function(results) {
// matches node1
chrome.test.assertEq(1, results.length);
}));
- chrome.bookmarks.search("quux", testCallback(true, function(results) {
+ chrome.bookmarks.search("quux", pass(function(results) {
// matches node2 & node3
chrome.test.assertEq(2, results.length);
}));
},
-
+
function update() {
- chrome.bookmarks.update(node1.id, {"title": "hello world"},
- testCallback(true, function(results) {
- chrome.test.assertEq("hello world", results.title);
+ var title = "hello world";
+ chrome.test.listenOnce(chrome.bookmarks.onChanged, function(id, changes) {
+ chrome.test.assertEq(title, changes.title);
+ });
+ chrome.bookmarks.update(node1.id, {"title": title}, pass(function(results) {
+ chrome.test.assertEq(title, results.title);
}));
},
-
+
function remove() {
- chrome.test.succeed();
+ var parentId = node1.parentId;
+ chrome.test.listenOnce(chrome.bookmarks.onRemoved,
+ function(id, removeInfo) {
+ chrome.test.assertEq(id, node1.id);
+ chrome.test.assertEq(removeInfo.parentId, parentId);
+ chrome.test.assertEq(removeInfo.index, node1.index);
+ });
+ chrome.bookmarks.remove(node1.id, pass(function() {}));
+ chrome.bookmarks.getTree(pass(function(results) {
+ // We removed node1, which means that the index of the other two nodes
+ // changes as well.
+ expected[0].children[1].children[0].children.shift();
+ expected[0].children[1].children[0].children[0].index = 0;
+ expected[0].children[1].children[0].children[1].index = 1;
+ chrome.test.assertTrue(compareTrees(expected, results),
+ "getTree() result != expected");
+ expected = results;
+ }));
},
function removeTree() {
- chrome.test.succeed();
+ var parentId = node2.parentId;
+ var folder = expected[0].children[1].children[0];
+ chrome.test.listenOnce(chrome.bookmarks.onRemoved,
+ function(id, removeInfo) {
+ chrome.test.assertEq(id, folder.id);
+ chrome.test.assertEq(removeInfo.parentId, folder.parentId);
+ chrome.test.assertEq(removeInfo.index, folder.index);
+ });
+ chrome.bookmarks.removeTree(parentId, pass(function(){}));
+ chrome.bookmarks.getTree(pass(function(results) {
+ expected[0].children[1].children.shift();
+ chrome.test.assertTrue(compareTrees(expected, results),
+ "getTree() result != expected");
+ expected = results;
+ }));
},
]);
« no previous file with comments | « chrome/renderer/resources/extension_apitest.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698