Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
jio_mebibou
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Alexandra Rogova
jio_mebibou
Commits
76d6f567
Commit
76d6f567
authored
Oct 29, 2013
by
Tristan Cavelier
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
run-qunit restored for phantomjs unit tests
parent
a26e91e9
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
84 additions
and
1 deletion
+84
-1
test/run-qunit.js
test/run-qunit.js
+83
-0
test_launcher_for_jio/tests/testJIO.py
test_launcher_for_jio/tests/testJIO.py
+1
-1
No files found.
test/run-qunit.js
0 → 100644
View file @
76d6f567
/*jslint indent: 2, maxlen: 80, sloppy: true */
/*global require, phantom, document, console, setInterval, clearInterval */
var
system
=
require
(
'
system
'
);
/**
* Wait until the test condition is true or a timeout occurs. Useful for waiting
* on a server response or for a ui change (fadeIn, etc.) to occur.
*
* @method waitFor
* @param {Function} testFx Condition that evaluates to a boolean
* @param {Function} onReady What to do when testFx condition is fulfilled
* @param {Number} time_out_millis The max amount of time to wait.
* If not specified, 10 sec is used.
*/
function
waitFor
(
testFx
,
onReady
,
time_out_millis
)
{
var
maxtime_out_millis
,
start
,
condition
,
interval
;
maxtime_out_millis
=
time_out_millis
||
(
5
*
60
*
1000
+
1
);
start
=
new
Date
().
getTime
();
condition
=
false
;
interval
=
setInterval
(
function
()
{
if
((
new
Date
().
getTime
()
-
start
<
maxtime_out_millis
)
&&
!
condition
)
{
// If not time-out yet and condition not yet fulfilled
condition
=
testFx
();
}
else
{
if
(
!
condition
)
{
// If condition still not fulfilled (timeout but condition is 'false')
console
.
log
(
"
'waitFor()' timeout
"
);
phantom
.
exit
(
1
);
}
else
{
// Condition fulfilled (timeout and/or condition is 'true')
console
.
log
(
"
'waitFor()' finished in
"
+
(
new
Date
().
getTime
()
-
start
)
+
"
ms.
"
);
onReady
();
clearInterval
(
interval
);
//< Stop this interval
}
}
},
100
);
//< repeat check every 100ms
}
if
(
system
.
args
.
length
!==
2
)
{
console
.
log
(
'
Usage: run-qunit.js URL
'
);
phantom
.
exit
(
1
);
}
var
page
=
require
(
'
webpage
'
).
create
();
// Route "console.log()" calls from within the Page context to the main Phantom
// context (i.e. current "this")
page
.
onConsoleMessage
=
function
(
msg
)
{
console
.
log
(
msg
);
};
page
.
open
(
system
.
args
[
1
],
function
(
status
)
{
if
(
status
!==
"
success
"
)
{
console
.
log
(
"
Unable to access network
"
);
phantom
.
exit
(
1
);
}
waitFor
(
function
()
{
return
page
.
evaluate
(
function
()
{
var
el
=
document
.
getElementById
(
'
qunit-testresult
'
);
if
(
el
&&
el
.
innerText
.
match
(
'
completed
'
))
{
return
true
;
}
return
false
;
});
},
function
()
{
var
failedNum
=
page
.
evaluate
(
function
()
{
console
.
log
(
"
========================================================
"
);
console
.
log
(
"
<!DOCTYPE html><html>
"
);
console
.
log
(
document
.
documentElement
.
innerHTML
);
console
.
log
(
"
</html>
"
);
console
.
log
(
"
========================================================
"
);
var
el
=
document
.
getElementById
(
'
qunit-testresult
'
);
console
.
log
(
el
.
innerText
);
try
{
return
el
.
getElementsByClassName
(
'
failed
'
)[
0
].
innerHTML
;
}
catch
(
ignore
)
{}
return
10000
;
});
phantom
.
exit
((
parseInt
(
failedNum
,
10
)
>
0
)
?
1
:
0
);
});
});
test_launcher_for_jio/tests/testJIO.py
View file @
76d6f567
...
...
@@ -17,7 +17,7 @@ class JIOTest(TestCase):
command
=
[
"%s %s %s; exit 0"
%
(
'%s/bin/phantomjs'
%
root_directory
,
'%s/parts/jio/test/run-qunit.js'
%
root_directory
,
'%s/parts/jio/test/
jiotests_withoutrequirej
s.html'
%
root_directory
)]
'%s/parts/jio/test/
test
s.html'
%
root_directory
)]
print
command
result
=
subprocess
.
check_output
(
command
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment