Jasmine
Jasmine Sandbox
by Stepan Suvorov
HTML
<script src="http://pivotal.github.com/jasmine/lib/jasmine.js"></script>
<link rel="stylesheet" href="http://pivotal.github.com/jasmine/lib/jasmine.css">
<script src="http://pivotal.github.com/jasmine/lib/jasmine-html.js"></script>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="jasmine.css">
<script type="text/javascript" src="jasmine.js"></script>
<script type="text/javascript" src="jasmine-html.js"></script>
</head>
<body></body>
</html>
JavaScript
function asynchFunc(value, callback) {
setTimeout(function() {
value++;
callback(value);
}, 500);
}
describe("Asynchronous specs", function() {
var value, flag;
it("async test", function() {
runs(function() {
flag = false;
value = 0;
asynchFunc(value, function(x) {
value = x;
flag = true;
});
});
waitsFor(function() {
return flag;
}, "Message for timeout case", 750);
runs(function() {
expect(value).toBeGreaterThan(0);
});
});
});
var jasmineEnv = jasmine.getEnv();
var htmlReporter = new jasmine.HtmlReporter();
jasmineEnv.addReporter(htmlReporter);
jasmineEnv.specFilter = function(spec) {
return htmlReporter.specFilter(spec);
};
window.onload = function() {jasmineEnv.execute();};