12345678910111213141516171819202122232425262728293031323334 |
- 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
- });
- });
|