Calculator 001
by JoshGough
HTML
<script src="https://raw.github.com/LearnBoost/expect.js/master/expect.js"></script>
<script src="https://raw.github.com/visionmedia/mocha/master/mocha.js"></script>
<div id="mocha"></div>
CSS
@charset"utf-8";
body {
font: 20px/1.5"Helvetica Neue", Helvetica, Arial, sans-serif;
padding: 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;
}
.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;
}
#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: white;
-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:...
JavaScript
function Calculator() {
this.add = function () {
var result = 0;
for (var i = 0, j = arguments.length; i < j; i++) {
result += parseFloat(arguments[i]);
}
return result;
};
this.subtract = function () {
var result = 0;
if (arguments.length > 0) result = arguments[0];
for (var i = 1, j = arguments.length; i < j; i++) {
result -= parseFloat(arguments[i]);
}
return result;
};
}
mocha.setup('bdd');
describe("Calculator", function () {
describe("when add called with 2 and 2 and 7", function () {
it('returns 11', function () {
var calc = new Calculator();
var result = calc.add(2, 2, 7);
expect(result).to.be(11);
});
});
describe("when subtract called with 11 and 2 and 2", function () {
it('returns 7', function () {
var calc = new Calculator();
var result = calc.subtract(11, 2, 2);
expect(result).to.be(7);
});
});
});
mocha.run();