mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-17 15:40:22 +00:00
the flag must be in all src and test files so that we get the benefit of running in the strict mode even in jstd the following script was used to modify all files: for file in `find src test -name "*.js"`; do echo -e "'use strict';\n" > temp.txt cat $file >> temp.txt mv temp.txt $file done
77 lines
2.4 KiB
JavaScript
77 lines
2.4 KiB
JavaScript
'use strict';
|
|
|
|
describe('angular.scenario.Future', function() {
|
|
var future;
|
|
|
|
it('should set the sane defaults', function() {
|
|
var behavior = function() {};
|
|
var future = new angular.scenario.Future('test name', behavior, 'foo');
|
|
expect(future.name).toEqual('test name');
|
|
expect(future.behavior).toEqual(behavior);
|
|
expect(future.line).toEqual('foo');
|
|
expect(future.value).toBeUndefined();
|
|
expect(future.fulfilled).toBeFalsy();
|
|
expect(future.parser).toEqual(angular.identity);
|
|
});
|
|
|
|
it('should be fulfilled after execution and done callback', function() {
|
|
var future = new angular.scenario.Future('test name', function(done) {
|
|
done();
|
|
});
|
|
future.execute(angular.noop);
|
|
expect(future.fulfilled).toBeTruthy();
|
|
});
|
|
|
|
it('should take callback with (error, result) and forward', function() {
|
|
var future = new angular.scenario.Future('test name', function(done) {
|
|
done(10, 20);
|
|
});
|
|
future.execute(function(error, result) {
|
|
expect(error).toEqual(10);
|
|
expect(result).toEqual(20);
|
|
});
|
|
});
|
|
|
|
it('should use error as value if provided', function() {
|
|
var future = new angular.scenario.Future('test name', function(done) {
|
|
done(10, 20);
|
|
});
|
|
future.execute(angular.noop);
|
|
expect(future.value).toEqual(10);
|
|
});
|
|
|
|
it('should parse json with fromJson', function() {
|
|
var future = new angular.scenario.Future('test name', function(done) {
|
|
done(null, "{test: 'foo'}");
|
|
});
|
|
future.fromJson().execute(angular.noop);
|
|
expect(future.value).toEqual({test: 'foo'});
|
|
});
|
|
|
|
it('should convert to json with toJson', function() {
|
|
var future = new angular.scenario.Future('test name', function(done) {
|
|
done(null, {test: 'foo'});
|
|
});
|
|
future.toJson().execute(angular.noop);
|
|
expect(future.value).toEqual('{"test":"foo"}');
|
|
});
|
|
|
|
it('should convert with custom parser', function() {
|
|
var future = new angular.scenario.Future('test name', function(done) {
|
|
done(null, 'foo');
|
|
});
|
|
future.parsedWith(function(value) {
|
|
return value.toUpperCase();
|
|
}).execute(angular.noop);
|
|
expect(future.value).toEqual('FOO');
|
|
});
|
|
|
|
it('should pass error if parser fails', function() {
|
|
var future = new angular.scenario.Future('test name', function(done) {
|
|
done(null, '{');
|
|
});
|
|
future.fromJson().execute(function(error, result) {
|
|
expect(error).toBeDefined();
|
|
});
|
|
});
|
|
});
|