Skip to content
This repository has been archived by the owner on May 23, 2023. It is now read-only.

Commit

Permalink
Added specs for Promise
Browse files Browse the repository at this point in the history
  • Loading branch information
rangoo94 committed Mar 26, 2015
1 parent 57e9d37 commit d0f3a34
Showing 1 changed file with 68 additions and 0 deletions.
68 changes: 68 additions & 0 deletions test/spec/modules/promise.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,72 @@

// jshint unused: false
var Promise = require('../../../src/js/modules/promise');

describe('Promise', function() {
it('should resolve promise with tasks which are defined before', function() {
var promise = new Promise(),
deferred = false;

promise.then(function() {
deferred = true;
});

promise.resolve();

expect(deferred).toBeTruthy();
});

it('should start tasks which are defined after resolving', function() {
var promise = new Promise(),
deferred = false;

promise.resolve();

promise.then(function() {
deferred = true;
});

expect(deferred).toBeTruthy();
});

it('should reject promise with tasks which are defined before', function() {
var promise = new Promise(),
rejected = false;

promise.then(null, function() {
rejected = true;
});

promise.reject();

expect(rejected).toBeTruthy();
});

it('should start fail tasks which are defined after rejecting', function() {
var promise = new Promise(),
rejected = false;

promise.reject();

promise.then(null, function() {
rejected = true;
});

expect(rejected).toBeTruthy();
});

it('shouldn\'t run callbacks twice when started twice', function() {
var promise = new Promise(),
resolved = 0;

promise.resolve();

promise.then(function() {
resolved++;
promise.run();
});

expect(resolved).toEqual(1);
});
});
}());

0 comments on commit d0f3a34

Please sign in to comment.