Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
B
bootstrap
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
bootstrap
Commits
f8488212
Commit
f8488212
authored
Apr 19, 2012
by
Jacob Thornton
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
style changes to phantom integration
parent
03f78f7a
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
66 additions
and
68 deletions
+66
-68
js/tests/phantom.js
js/tests/phantom.js
+50
-52
js/tests/unit/bootstrap-phantom.js
js/tests/unit/bootstrap-phantom.js
+16
-16
No files found.
js/tests/phantom.js
View file @
f8488212
/*
* Simple phantom.js integration script
* Adapted from Modernizr
*/
// Simple phantom.js integration script
// Adapted from Modernizr
function
waitFor
(
testFx
,
onReady
,
timeOutMillis
)
{
var
maxtimeOutMillis
=
timeOutMillis
?
timeOutMillis
:
3001
,
//< Default Max Timout is 3s
start
=
new
Date
().
getTime
(),
condition
=
false
,
interval
=
setInterval
(
function
()
{
if
(
(
new
Date
().
getTime
()
-
start
<
maxtimeOutMillis
)
&&
!
condition
)
{
var
maxtimeOutMillis
=
timeOutMillis
?
timeOutMillis
:
3001
//< Default Max Timout is 3s
,
start
=
new
Date
().
getTime
()
,
condition
=
false
,
interval
=
setInterval
(
function
()
{
if
((
new
Date
().
getTime
()
-
start
<
maxtimeOutMillis
)
&&
!
condition
)
{
// If not time-out yet and condition not yet fulfilled
condition
=
(
typeof
(
testFx
)
===
"
string
"
?
eval
(
testFx
)
:
testFx
());
//< defensive code
condition
=
(
typeof
(
testFx
)
===
"
string
"
?
eval
(
testFx
)
:
testFx
())
//< defensive code
}
else
{
if
(
!
condition
)
{
// If condition still not fulfilled (timeout but condition is 'false')
console
.
log
(
"
'waitFor()' timeout
"
);
phantom
.
exit
(
1
);
console
.
log
(
"
'waitFor()' timeout
"
)
phantom
.
exit
(
1
)
}
else
{
// Condition fulfilled (timeout and/or condition is 'true')
typeof
(
onReady
)
===
"
string
"
?
eval
(
onReady
)
:
onReady
();
//< Do what it's supposed to do once the condition is fulfilled
clearInterval
(
interval
);
//< Stop this interval
typeof
(
onReady
)
===
"
string
"
?
eval
(
onReady
)
:
onReady
()
//< Do what it's supposed to do once the condition is fulfilled
clearInterval
(
interval
)
//< Stop this interval
}
}
},
100
);
//< repeat check every 25
0ms
}
;
},
100
)
//< repeat check every 10
0ms
}
if
(
phantom
.
args
.
length
===
0
||
phantom
.
args
.
length
>
2
)
{
console
.
log
(
'
Usage: phantom.js URL
'
);
phantom
.
exit
();
console
.
log
(
'
Usage: phantom.js URL
'
)
phantom
.
exit
()
}
var
page
=
new
WebPage
()
;
var
page
=
new
WebPage
()
// 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
);
console
.
log
(
msg
)
};
page
.
open
(
phantom
.
args
[
0
],
function
(
status
){
if
(
status
!==
"
success
"
)
{
console
.
log
(
"
Unable to access network
"
);
phantom
.
exit
();
console
.
log
(
"
Unable to access network
"
)
phantom
.
exit
()
}
else
{
waitFor
(
function
(){
return
page
.
evaluate
(
function
(){
var
el
=
document
.
getElementById
(
'
qunit-testresult
'
);
var
el
=
document
.
getElementById
(
'
qunit-testresult
'
)
if
(
el
&&
el
.
innerText
.
match
(
'
completed
'
))
{
return
true
;
return
true
}
return
false
;
});
return
false
})
},
function
(){
var
failedNum
=
page
.
evaluate
(
function
(){
var
el
=
document
.
getElementById
(
'
qunit-testresult
'
);
var
el
=
document
.
getElementById
(
'
qunit-testresult
'
)
try
{
return
el
.
getElementsByClassName
(
'
failed
'
)[
0
].
innerHTML
;
return
el
.
getElementsByClassName
(
'
failed
'
)[
0
].
innerHTML
}
catch
(
e
)
{
}
return
10000
;
});
phantom
.
exit
((
parseInt
(
failedNum
,
10
)
>
0
)
?
1
:
0
);
return
10000
});
phantom
.
exit
((
parseInt
(
failedNum
,
10
)
>
0
)
?
1
:
0
)
})
}
});
\ No newline at end of file
})
\ No newline at end of file
js/tests/unit/bootstrap-phantom.js
View file @
f8488212
// Logging setup for phantom integration
// adapted from Modernizr
QUnit
.
begin
=
function
()
{
console
.
log
(
"
Starting test suite
"
);
console
.
log
(
"
================================================
\n
"
);
}
;
QUnit
.
begin
=
function
()
{
console
.
log
(
"
Starting test suite
"
)
console
.
log
(
"
================================================
\n
"
)
}
QUnit
.
moduleDone
=
function
(
opts
)
{
if
(
opts
.
failed
===
0
)
{
console
.
log
(
"
\
u2714 All tests passed in '
"
+
opts
.
name
+
"
' module
"
);
QUnit
.
moduleDone
=
function
(
opts
)
{
if
(
opts
.
failed
===
0
)
{
console
.
log
(
"
\
u2714 All tests passed in '
"
+
opts
.
name
+
"
' module
"
)
}
else
{
console
.
log
(
"
\
u2716
"
+
opts
.
failed
+
"
tests failed in '
"
+
opts
.
name
+
"
' module
"
);
console
.
log
(
"
\
u2716
"
+
opts
.
failed
+
"
tests failed in '
"
+
opts
.
name
+
"
' module
"
)
}
}
;
}
QUnit
.
done
=
function
(
opts
)
{
console
.
log
(
"
\n
================================================
"
);
console
.
log
(
"
Tests completed in
"
+
opts
.
runtime
+
"
milliseconds
"
);
console
.
log
(
opts
.
passed
+
"
tests of
"
+
opts
.
total
+
"
passed,
"
+
opts
.
failed
+
"
failed.
"
);
};
\ No newline at end of file
QUnit
.
done
=
function
(
opts
)
{
console
.
log
(
"
\n
================================================
"
)
console
.
log
(
"
Tests completed in
"
+
opts
.
runtime
+
"
milliseconds
"
)
console
.
log
(
opts
.
passed
+
"
tests of
"
+
opts
.
total
+
"
passed,
"
+
opts
.
failed
+
"
failed.
"
)
}
\ No newline at end of file
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