Created
August 22, 2014 13:11
-
-
Save beames/5770bf5f063d11d90506 to your computer and use it in GitHub Desktop.
mocha + should.js + superagent // source http://jsbin.com/feseco/1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta name="description" content="mocha + should.js + superagent" /> | |
<meta name="de scription" content="mocha + should.js + superagent" /> | |
<!-- <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script> --> | |
<script src="http://cdn.staticfile.org/should.js/should.js/3.1.4/should.min.js"></script> | |
<script src="http://cdn.staticfile.org/mocha/1.20.1/mocha.js"></script> | |
<script src="http://cdn.staticfile.org/superagent/0.15.7/superagent.js"></script> | |
<script>mocha.setup('bdd')</script> | |
<meta charset="utf-8"> | |
<title>JS Bin</title> | |
<style id="jsbin-css"> | |
@charset "utf-8"; | |
body { | |
margin:0; | |
} | |
#mocha { | |
font: 20px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif; | |
margin: 60px 50px; | |
} | |
#mocha ul, | |
#mocha li { | |
margin: 0; | |
padding: 0; | |
} | |
#mocha ul { | |
list-style: none; | |
} | |
#mocha h1, | |
#mocha h2 { | |
margin: 0; | |
} | |
#mocha h1 { | |
margin-top: 15px; | |
font-size: 1em; | |
font-weight: 200; | |
} | |
#mocha h1 a { | |
text-decoration: none; | |
color: inherit; | |
} | |
#mocha h1 a:hover { | |
text-decoration: underline; | |
} | |
#mocha .suite .suite h1 { | |
margin-top: 0; | |
font-size: .8em; | |
} | |
#mocha .hidden { | |
display: none; | |
} | |
#mocha h2 { | |
font-size: 12px; | |
font-weight: normal; | |
cursor: pointer; | |
} | |
#mocha .suite { | |
margin-left: 15px; | |
} | |
#mocha .test { | |
margin-left: 15px; | |
overflow: hidden; | |
} | |
#mocha .test.pending:hover h2::after { | |
content: '(pending)'; | |
font-family: arial, sans-serif; | |
} | |
#mocha .test.pass.medium .duration { | |
background: #c09853; | |
} | |
#mocha .test.pass.slow .duration { | |
background: #b94a48; | |
} | |
#mocha .test.pass::before { | |
content: '✓'; | |
font-size: 12px; | |
display: block; | |
float: left; | |
margin-right: 5px; | |
color: #00d6b2; | |
} | |
#mocha .test.pass .duration { | |
font-size: 9px; | |
margin-left: 5px; | |
padding: 2px 5px; | |
color: #fff; | |
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.2); | |
-moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.2); | |
box-shadow: inset 0 1px 1px rgba(0,0,0,.2); | |
-webkit-border-radius: 5px; | |
-moz-border-radius: 5px; | |
-ms-border-radius: 5px; | |
-o-border-radius: 5px; | |
border-radius: 5px; | |
} | |
#mocha .test.pass.fast .duration { | |
display: none; | |
} | |
#mocha .test.pending { | |
color: #0b97c4; | |
} | |
#mocha .test.pending::before { | |
content: '◦'; | |
color: #0b97c4; | |
} | |
#mocha .test.fail { | |
color: #c00; | |
} | |
#mocha .test.fail pre { | |
color: black; | |
} | |
#mocha .test.fail::before { | |
content: '✖'; | |
font-size: 12px; | |
display: block; | |
float: left; | |
margin-right: 5px; | |
color: #c00; | |
} | |
#mocha .test pre.error { | |
color: #c00; | |
max-height: 300px; | |
overflow: auto; | |
} | |
/** | |
* (1): approximate for browsers not supporting calc | |
* (2): 42 = 2*15 + 2*10 + 2*1 (padding + margin + border) | |
* ^^ seriously | |
*/ | |
#mocha .test pre { | |
display: block; | |
float: left; | |
clear: left; | |
font: 12px/1.5 monaco, monospace; | |
margin: 5px; | |
padding: 15px; | |
border: 1px solid #eee; | |
max-width: 85%; /*(1)*/ | |
max-width: calc(100% - 42px); /*(2)*/ | |
word-wrap: break-word; | |
border-bottom-color: #ddd; | |
-webkit-border-radius: 3px; | |
-webkit-box-shadow: 0 1px 3px #eee; | |
-moz-border-radius: 3px; | |
-moz-box-shadow: 0 1px 3px #eee; | |
border-radius: 3px; | |
} | |
#mocha .test h2 { | |
position: relative; | |
} | |
#mocha .test a.replay { | |
position: absolute; | |
top: 3px; | |
right: 0; | |
text-decoration: none; | |
vertical-align: middle; | |
display: block; | |
width: 15px; | |
height: 15px; | |
line-height: 15px; | |
text-align: center; | |
background: #eee; | |
font-size: 15px; | |
-moz-border-radius: 15px; | |
border-radius: 15px; | |
-webkit-transition: opacity 200ms; | |
-moz-transition: opacity 200ms; | |
transition: opacity 200ms; | |
opacity: 0.3; | |
color: #888; | |
} | |
#mocha .test:hover a.replay { | |
opacity: 1; | |
} | |
#mocha-report.pass .test.fail { | |
display: none; | |
} | |
#mocha-report.fail .test.pass { | |
display: none; | |
} | |
#mocha-report.pending .test.pass, | |
#mocha-report.pending .test.fail { | |
display: none; | |
} | |
#mocha-report.pending .test.pass.pending { | |
display: block; | |
} | |
#mocha-error { | |
color: #c00; | |
font-size: 1.5em; | |
font-weight: 100; | |
letter-spacing: 1px; | |
} | |
#mocha-stats { | |
position: fixed; | |
top: 15px; | |
right: 10px; | |
font-size: 12px; | |
margin: 0; | |
color: #888; | |
z-index: 1; | |
} | |
#mocha-stats .progress { | |
float: right; | |
padding-top: 0; | |
} | |
#mocha-stats em { | |
color: black; | |
} | |
#mocha-stats a { | |
text-decoration: none; | |
color: inherit; | |
} | |
#mocha-stats a:hover { | |
border-bottom: 1px solid #eee; | |
} | |
#mocha-stats li { | |
display: inline-block; | |
margin: 0 5px; | |
list-style: none; | |
padding-top: 11px; | |
} | |
#mocha-stats canvas { | |
width: 40px; | |
height: 40px; | |
} | |
#mocha code .comment { color: #ddd; } | |
#mocha code .init { color: #2f6fad; } | |
#mocha code .string { color: #5890ad; } | |
#mocha code .keyword { color: #8a6343; } | |
#mocha code .number { color: #2f6fad; } | |
@media screen and (max-device-width: 480px) { | |
#mocha { | |
margin: 60px 0px; | |
} | |
#mocha #stats { | |
position: absolute; | |
} | |
} | |
</style> | |
</head> | |
<body> | |
<div id="mocha"></div> | |
<div id='cors'></div> | |
<script> | |
// $.getJSON("http://dev.com/config.json",function(result){ | |
// $.each(result, function(i, field){ | |
// $("#cors").append(field + " <--->"); | |
// }); | |
// }); | |
</script> | |
<script id="test"> | |
onload = function(){ | |
mocha.checkLeaks(); | |
mocha.globals(['jquery']); | |
var runner = mocha.run(); | |
}; | |
var request = window.superagent; | |
</script> | |
<script id="jsbin-javascript"> | |
describe('Array1', function(){ | |
describe('#indexOf()', function(){ | |
it('should return -1 when the value is not present', function(){ | |
[1,2,3].indexOf(5).should.equal(-1); | |
[1,2,3].indexOf(0).should.equal(-1); | |
}); | |
}); | |
}); | |
describe('Array2', function(){ | |
describe('#indexOf()', function(){ | |
it('should return -1 when the value is not present', function(){ | |
[1,2,3].indexOf(4).should.equal(-1); | |
[1,2,3].indexOf(0).should.equal(-1); | |
}); | |
}); | |
}); | |
describe('Array3', function(){ | |
describe('#indexOf()', function(){ | |
it('should return -1 when the value is not present', function(){ | |
[1,2,3].indexOf(5).should.equal(-1); | |
[1,2,3].indexOf(0).should.equal(-1); | |
}); | |
}); | |
}); | |
describe('Superagent - Ajax with less sucks', function(){ | |
it('should fetch config.json', function(done){ | |
request | |
.get('http://dev.com/config.json') | |
.end(function(res){ | |
res.status.should.equal(200); | |
if (res.ok) { | |
console.log('yay got ' + JSON.stringify(res.body)); | |
} else { | |
console.log('Oh no! error ' + res.text); | |
} | |
done(); | |
}); | |
}); | |
}); | |
</script> | |
</body> | |
</html> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@charset "utf-8"; | |
body { | |
margin:0; | |
} | |
#mocha { | |
font: 20px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif; | |
margin: 60px 50px; | |
} | |
#mocha ul, | |
#mocha li { | |
margin: 0; | |
padding: 0; | |
} | |
#mocha ul { | |
list-style: none; | |
} | |
#mocha h1, | |
#mocha h2 { | |
margin: 0; | |
} | |
#mocha h1 { | |
margin-top: 15px; | |
font-size: 1em; | |
font-weight: 200; | |
} | |
#mocha h1 a { | |
text-decoration: none; | |
color: inherit; | |
} | |
#mocha h1 a:hover { | |
text-decoration: underline; | |
} | |
#mocha .suite .suite h1 { | |
margin-top: 0; | |
font-size: .8em; | |
} | |
#mocha .hidden { | |
display: none; | |
} | |
#mocha h2 { | |
font-size: 12px; | |
font-weight: normal; | |
cursor: pointer; | |
} | |
#mocha .suite { | |
margin-left: 15px; | |
} | |
#mocha .test { | |
margin-left: 15px; | |
overflow: hidden; | |
} | |
#mocha .test.pending:hover h2::after { | |
content: '(pending)'; | |
font-family: arial, sans-serif; | |
} | |
#mocha .test.pass.medium .duration { | |
background: #c09853; | |
} | |
#mocha .test.pass.slow .duration { | |
background: #b94a48; | |
} | |
#mocha .test.pass::before { | |
content: '✓'; | |
font-size: 12px; | |
display: block; | |
float: left; | |
margin-right: 5px; | |
color: #00d6b2; | |
} | |
#mocha .test.pass .duration { | |
font-size: 9px; | |
margin-left: 5px; | |
padding: 2px 5px; | |
color: #fff; | |
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.2); | |
-moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.2); | |
box-shadow: inset 0 1px 1px rgba(0,0,0,.2); | |
-webkit-border-radius: 5px; | |
-moz-border-radius: 5px; | |
-ms-border-radius: 5px; | |
-o-border-radius: 5px; | |
border-radius: 5px; | |
} | |
#mocha .test.pass.fast .duration { | |
display: none; | |
} | |
#mocha .test.pending { | |
color: #0b97c4; | |
} | |
#mocha .test.pending::before { | |
content: '◦'; | |
color: #0b97c4; | |
} | |
#mocha .test.fail { | |
color: #c00; | |
} | |
#mocha .test.fail pre { | |
color: black; | |
} | |
#mocha .test.fail::before { | |
content: '✖'; | |
font-size: 12px; | |
display: block; | |
float: left; | |
margin-right: 5px; | |
color: #c00; | |
} | |
#mocha .test pre.error { | |
color: #c00; | |
max-height: 300px; | |
overflow: auto; | |
} | |
/** | |
* (1): approximate for browsers not supporting calc | |
* (2): 42 = 2*15 + 2*10 + 2*1 (padding + margin + border) | |
* ^^ seriously | |
*/ | |
#mocha .test pre { | |
display: block; | |
float: left; | |
clear: left; | |
font: 12px/1.5 monaco, monospace; | |
margin: 5px; | |
padding: 15px; | |
border: 1px solid #eee; | |
max-width: 85%; /*(1)*/ | |
max-width: calc(100% - 42px); /*(2)*/ | |
word-wrap: break-word; | |
border-bottom-color: #ddd; | |
-webkit-border-radius: 3px; | |
-webkit-box-shadow: 0 1px 3px #eee; | |
-moz-border-radius: 3px; | |
-moz-box-shadow: 0 1px 3px #eee; | |
border-radius: 3px; | |
} | |
#mocha .test h2 { | |
position: relative; | |
} | |
#mocha .test a.replay { | |
position: absolute; | |
top: 3px; | |
right: 0; | |
text-decoration: none; | |
vertical-align: middle; | |
display: block; | |
width: 15px; | |
height: 15px; | |
line-height: 15px; | |
text-align: center; | |
background: #eee; | |
font-size: 15px; | |
-moz-border-radius: 15px; | |
border-radius: 15px; | |
-webkit-transition: opacity 200ms; | |
-moz-transition: opacity 200ms; | |
transition: opacity 200ms; | |
opacity: 0.3; | |
color: #888; | |
} | |
#mocha .test:hover a.replay { | |
opacity: 1; | |
} | |
#mocha-report.pass .test.fail { | |
display: none; | |
} | |
#mocha-report.fail .test.pass { | |
display: none; | |
} | |
#mocha-report.pending .test.pass, | |
#mocha-report.pending .test.fail { | |
display: none; | |
} | |
#mocha-report.pending .test.pass.pending { | |
display: block; | |
} | |
#mocha-error { | |
color: #c00; | |
font-size: 1.5em; | |
font-weight: 100; | |
letter-spacing: 1px; | |
} | |
#mocha-stats { | |
position: fixed; | |
top: 15px; | |
right: 10px; | |
font-size: 12px; | |
margin: 0; | |
color: #888; | |
z-index: 1; | |
} | |
#mocha-stats .progress { | |
float: right; | |
padding-top: 0; | |
} | |
#mocha-stats em { | |
color: black; | |
} | |
#mocha-stats a { | |
text-decoration: none; | |
color: inherit; | |
} | |
#mocha-stats a:hover { | |
border-bottom: 1px solid #eee; | |
} | |
#mocha-stats li { | |
display: inline-block; | |
margin: 0 5px; | |
list-style: none; | |
padding-top: 11px; | |
} | |
#mocha-stats canvas { | |
width: 40px; | |
height: 40px; | |
} | |
#mocha code .comment { color: #ddd; } | |
#mocha code .init { color: #2f6fad; } | |
#mocha code .string { color: #5890ad; } | |
#mocha code .keyword { color: #8a6343; } | |
#mocha code .number { color: #2f6fad; } | |
@media screen and (max-device-width: 480px) { | |
#mocha { | |
margin: 60px 0px; | |
} | |
#mocha #stats { | |
position: absolute; | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
describe('Array1', function(){ | |
describe('#indexOf()', function(){ | |
it('should return -1 when the value is not present', function(){ | |
[1,2,3].indexOf(5).should.equal(-1); | |
[1,2,3].indexOf(0).should.equal(-1); | |
}); | |
}); | |
}); | |
describe('Array2', function(){ | |
describe('#indexOf()', function(){ | |
it('should return -1 when the value is not present', function(){ | |
[1,2,3].indexOf(4).should.equal(-1); | |
[1,2,3].indexOf(0).should.equal(-1); | |
}); | |
}); | |
}); | |
describe('Array3', function(){ | |
describe('#indexOf()', function(){ | |
it('should return -1 when the value is not present', function(){ | |
[1,2,3].indexOf(5).should.equal(-1); | |
[1,2,3].indexOf(0).should.equal(-1); | |
}); | |
}); | |
}); | |
describe('Superagent - Ajax with less sucks', function(){ | |
it('should fetch config.json', function(done){ | |
request | |
.get('http://dev.com/config.json') | |
.end(function(res){ | |
res.status.should.equal(200); | |
if (res.ok) { | |
console.log('yay got ' + JSON.stringify(res.body)); | |
} else { | |
console.log('Oh no! error ' + res.text); | |
} | |
done(); | |
}); | |
}); | |
}); | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment