##// END OF EJS Templates
DEV: Allow CheckpointManagers to optimize for shared backends....
DEV: Allow CheckpointManagers to optimize for shared backends. On `create_checkpoint` and `restore_checkpoint`, pass a path and a `ContentsManager` to `CheckpointManager` instead of an already-loaded model. The `CheckpointManager` base class provides a correct implementation of these methods that's generic across any ContentsManager, but subclasses are free to specialize when the storage backend of `ContentsManager` is shared.

File last commit:

r18756:da8c089b
r19828:adba75fe
Show More
dashboard_nav.js
43 lines | 1.5 KiB | application/javascript | JavascriptLexer
casper.get_list_items = function () {
return this.evaluate(function () {
return $.makeArray($('.item_link').map(function () {
return {
link: $(this).attr('href'),
label: $(this).find('.item_name').text()
};
}));
});
};
casper.test_items = function (baseUrl, visited) {
visited = visited || {};
casper.then(function () {
var items = casper.get_list_items();
casper.each(items, function (self, item) {
if (item.link.match(/^\/tree\//)) {
var followed_url = baseUrl+item.link;
if (!visited[followed_url]) {
visited[followed_url] = true;
casper.thenOpen(followed_url, function () {
this.waitFor(this.page_loaded);
casper.wait_for_dashboard();
// getCurrentUrl is with host, and url-decoded,
// but item.link is without host, and url-encoded
var expected = baseUrl + decodeURIComponent(item.link);
this.test.assertEquals(this.getCurrentUrl(), expected, 'Testing dashboard link: ' + expected);
casper.test_items(baseUrl, visited);
this.back();
});
}
}
});
});
};
casper.dashboard_test(function () {
baseUrl = this.get_notebook_server();
casper.test_items(baseUrl);
});