dashboard_nav.js
43 lines
| 1.5 KiB
| application/javascript
|
JavascriptLexer
Brian E. Granger
|
r15081 | |||
Brian E. Granger
|
r15080 | |||
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() | ||||
MinRK
|
r17716 | }; | ||
Brian E. Granger
|
r15080 | })); | ||
}); | ||||
MinRK
|
r17716 | }; | ||
Brian E. Granger
|
r15080 | |||
Min RK
|
r18756 | casper.test_items = function (baseUrl, visited) { | ||
visited = visited || {}; | ||||
Brian E. Granger
|
r15080 | casper.then(function () { | ||
var items = casper.get_list_items(); | ||||
casper.each(items, function (self, item) { | ||||
Min RK
|
r18756 | if (item.link.match(/^\/tree\//)) { | ||
Brian E. Granger
|
r15080 | var followed_url = baseUrl+item.link; | ||
Min RK
|
r18756 | if (!visited[followed_url]) { | ||
visited[followed_url] = true; | ||||
MinRK
|
r15235 | casper.thenOpen(followed_url, function () { | ||
MinRK
|
r17716 | this.waitFor(this.page_loaded); | ||
Brian E. Granger
|
r15081 | casper.wait_for_dashboard(); | ||
MinRK
|
r15235 | // 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); | ||||
Min RK
|
r18756 | casper.test_items(baseUrl, visited); | ||
Brian E. Granger
|
r15080 | this.back(); | ||
}); | ||||
} | ||||
} | ||||
}); | ||||
}); | ||||
MinRK
|
r17716 | }; | ||
Brian E. Granger
|
r15080 | |||
Brian E. Granger
|
r15081 | casper.dashboard_test(function () { | ||
MinRK
|
r15235 | baseUrl = this.get_notebook_server(); | ||
Brian E. Granger
|
r15081 | casper.test_items(baseUrl); | ||
MinRK
|
r17716 | }); | ||
Brian E. Granger
|
r15081 | |||