annotate 3rdparty/bootstrap/js/tests/phantom.js @ 5695:3e1b66c4e1e2

Update docs. Correct errors reported by setup.py build_docs. Add rest interface and link to rest doc to features page. Add link to xmlrpc doc to features page. Add rest doc to index. Update rest doc, hopefully clarify confusing use of parameters in patch action section. Fix code examples in "Adding new rest endpoints" section. Fix example adding import of exception.
author John Rouillard <rouilj@ieee.org>
date Sun, 07 Apr 2019 20:17:52 -0400
parents c109f7c1e477
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4854
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
1 // Simple phantom.js integration script
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
2 // Adapted from Modernizr
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
3
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
4 function waitFor(testFx, onReady, timeOutMillis) {
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
5 var maxtimeOutMillis = timeOutMillis ? timeOutMillis : 5001 //< Default Max Timout is 5s
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
6 , start = new Date().getTime()
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
7 , condition = false
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
8 , interval = setInterval(function () {
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
9 if ((new Date().getTime() - start < maxtimeOutMillis) && !condition) {
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
10 // If not time-out yet and condition not yet fulfilled
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
11 condition = (typeof(testFx) === "string" ? eval(testFx) : testFx()) //< defensive code
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
12 } else {
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
13 if (!condition) {
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
14 // If condition still not fulfilled (timeout but condition is 'false')
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
15 console.log("'waitFor()' timeout")
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
16 phantom.exit(1)
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
17 } else {
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
18 // Condition fulfilled (timeout and/or condition is 'true')
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
19 typeof(onReady) === "string" ? eval(onReady) : onReady() //< Do what it's supposed to do once the condition is fulfilled
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
20 clearInterval(interval) //< Stop this interval
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
21 }
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
22 }
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
23 }, 100) //< repeat check every 100ms
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
24 }
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
25
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
26
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
27 if (phantom.args.length === 0 || phantom.args.length > 2) {
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
28 console.log('Usage: phantom.js URL')
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
29 phantom.exit()
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
30 }
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
31
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
32 var page = new WebPage()
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
33
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
34 // Route "console.log()" calls from within the Page context to the main Phantom context (i.e. current "this")
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
35 page.onConsoleMessage = function(msg) {
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
36 console.log(msg)
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
37 };
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
38
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
39 page.open(phantom.args[0], function(status){
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
40 if (status !== "success") {
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
41 console.log("Unable to access network")
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
42 phantom.exit()
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
43 } else {
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
44 waitFor(function(){
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
45 return page.evaluate(function(){
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
46 var el = document.getElementById('qunit-testresult')
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
47 if (el && el.innerText.match('completed')) {
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
48 return true
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
49 }
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
50 return false
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
51 })
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
52 }, function(){
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
53 var failedNum = page.evaluate(function(){
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
54 var el = document.getElementById('qunit-testresult')
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
55 try {
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
56 return el.getElementsByClassName('failed')[0].innerHTML
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
57 } catch (e) { }
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
58 return 10000
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
59 });
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
60 phantom.exit((parseInt(failedNum, 10) > 0) ? 1 : 0)
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
61 })
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
62 }
c109f7c1e477 Add local copy of Bootstrap v2.2.2 (for packaging on Debian)
Pradip Caulagi <caulagi@gmail.com>
parents:
diff changeset
63 })

Roundup Issue Tracker: http://roundup-tracker.org/