旧版报表、仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

34 lines
1.2 KiB

var failIfThrows = function (done) {
'use strict';
return function (e) {
done(e || new Error());
};
};
describe('Promise.reject', function () {
'use strict';
it('should not be enumerable', function () {
expect(Promise).ownPropertyDescriptor('reject').to.have.property('enumerable', false);
});
it('should return a rejected promise', function (done) {
var value = {};
Promise.reject(value).then(failIfThrows(done), function (result) {
expect(result).to.equal(value);
done();
});
});
it('throws when receiver is a primitive', function () {
var promise = Promise.reject();
expect(function () { Promise.reject.call(undefined, promise); }).to['throw']();
expect(function () { Promise.reject.call(null, promise); }).to['throw']();
expect(function () { Promise.reject.call('', promise); }).to['throw']();
expect(function () { Promise.reject.call(42, promise); }).to['throw']();
expect(function () { Promise.reject.call(false, promise); }).to['throw']();
expect(function () { Promise.reject.call(true, promise); }).to['throw']();
promise.then(null, function () {}); // silence unhandled rejection errors in Chrome
});
});