4 <!-- TODO(arv): Check in Closure unit tests and make this run as part of the
6 <script src="https://cdn.rawgit.com/google/closure-library/master/closure/goog/base.js"></script>
7 <script src="../../../../../ui/webui/resources/js/cr.js"></script>
8 <script src="bmm.js"></script>
9 <title>Bookmark Manager Loading Test</title>
12 goog.require('goog.testing.jsunit');
13 goog.require('goog.testing.AsyncTestCase');
20 var asyncTestCase = goog.testing.AsyncTestCase.createAndInstall(document.title);
37 // Mock chrome.bookmarkManagerPrivate.getSubtree
38 chrome = chrome || {};
39 chrome.bookmarkManagerPrivate = chrome.bookmarkManagerPrivate || {};
43 chrome.bookmarkManagerPrivate.getSubtree = function(id, foldersOnly, callback) {
44 callbacks[id] = callbacks[id] || [];
45 callbacks[id].push(callback);
46 callbacks[id].$calls = callbacks[id].$calls ? callbacks[id].$calls++ : 1;
49 chrome.bookmarkManagerPrivate.getSubtree.load = function(node) {
50 // getSubtree gets the root tree when id is ''.
54 for (var i = 0; i < callbacks[id].length; i++) {
55 callbacks[id][i].call(null, [node]);
59 function continueTesting() {
60 asyncTestCase.continueTesting();
68 assertEquals(tree, node);
72 assertEquals(tree, node);
75 var p = bmm.loadTree();
76 var p2 = bmm.loadTree();
82 chrome.bookmarkManagerPrivate.getSubtree.load(tree);
84 var root = Promise.all(r).then(function() {
85 assertEquals(1, calls1);
86 assertEquals(1, calls2);
87 assertEquals(1, callbacks[''].$calls);
94 assertEquals(tree.children[0], node);
97 var p3 = bmm.loadSubtree(1);
100 chrome.bookmarkManagerPrivate.getSubtree.load(tree.children[0]);
102 var subtree = s.then(function() {
103 assertEquals(1, calls3);
104 assertEquals(1, callbacks[1].$calls);
107 Promise.all([root, subtree]).then(continueTesting);