jasmine test running on jsFiddle
jsFiddle template to run a jasmine test inside jsFiddle.
Adds jasmine external resources, and initializes jasmine's HtmlReporter on window load. For more infor check this article: http://opensas.wordpress.com/2013/06/23/sharing-you-javascript-ninja-secrets-run-your-jasmine-tests-on-jsfiddle/
HTML
<link rel="stylesheet" href="//cdn.jsdelivr.net/jasmine/1.3.1/jasmine.css">
<script src="//cdn.jsdelivr.net/jasmine/1.3.1/jasmine.js"></script>
<script src="//cdn.jsdelivr.net/jasmine/1.3.1/jasmine-html.js"></script>
JavaScript
function gerador() {
return {
data: new Date(),
latitude: 0,
longitude: 0,
conectado: true,
sincronizado: false
};
}
(function (self) {
self.removerAntigas = function () {
var dataCorte = new Date();
var dataAux = dataCorte.getDate();
dataCorte.setDate(dataAux - 60);
itens.forEach(function (item) {
if (item.data <= dataCorte) {
itens.splice(itens.indexOf(item), 1);
}
});
};
self.obterTodos = function () {
return itens;
}
self.adicionar = function () {
var item = {
data: new Date(),
latitude: 0,
longitude: 0,
conectado: true,
sincronizado: false
};
itens.push(item);
};
})(this);
describe('removerAntigas', function () {
it("should add new item", function () {
window.itens = [gerador(), gerador(), gerador()];
window.adicionar()
expect(window.itens.length).toEqual(4);
});
it("should return all items", function () {
expect(window.obterTodos()).toEqual(window.itens);
});
it("should return all items", function () {
expect(window.itens.length == 4).toBeTruthy();
window.removerAntigas();
expect(window.itens.length < 4).not.toBeTruthy();
});
});
// load jasmine htmlReporter - KEEP THIS
(function () {
var env = jasmine.getEnv();
env.addReporter(new jasmine.HtmlReporter());
env.execute();
}());