Пофиксил вот такой случай:
var testValue = 'test value';
var testReason = new Error('test error');
var thenable = {
then: function (resolvePromise, rejectPromise) {
resolvePromise(testValue);
reject(testReason);
}
};
var deferred = {};
var promise = new Promise(function (resolve, reject) {
deferred.resolve = resolve;
deferred.reject = reject;
resolve(thenable);
});
deferred.resolve('other test value');
deferred.reject(new Error('other test error'));
promise.then(function (value) {
console.log('value = "' + value + '"', value === testValue);
}, function (reason) {
console.log('reason = "' + reason + '"', reason === testReason);
});
и тест 2.3.3.3 перестал фейлиться
Теперь все 872 теста пройдены