From: Mark S. Miller [[email protected]]

> A good start would be to convert 
> https://github.com/promises-aplus/promises-tests to test262 form, extending 
> test262 in the process in order to accommodate async testing. Any volunteers?

If someone does the latter (preferably with a simple Mocha-like `done()` 
facility), I will happily do the former. I imagine there might be licensing 
issues with non-Ecma members; would that still be the case for code licensed 
under the WTFPL?

The only divergence between DOM promises and Promises/A+ so far are:

1. The handling of non-`undefined`, non-function arguments, which Promises/A+ 
mandates must be ignored while DOM Promises mandate must throw a synchronous 
`TypeError`. (This is a spec bug; it should result in an asynchronous 
`TypeError` rejection.)
2. DOM Promises requires `onFulfilled` and `onRejected` to be called as if they 
were methods of the promise itself, whereas Promises/A+ requires they be called 
as functions.
3. DOM Promises mandates an infinite loop for the code `const q = 
fulfilledPromise.then(() => fulfilledPromise)`, whereas Promises/A+ mandates 
that `q` be rejected with a `TypeError`.
4. DOM Promises mandates an infinite loop for the code `const q1 = 
fulfilledPromise.then(() => q2); const q2 = fulfilledPromise.then(() => q1)`, 
whereas Promises/A+ allows (but does not require) that implementations reject 
`q1` and `q2` with a `TypeError`.

Of these, 1 I am ambivalent on, 2 I think was a very strange mistake, and 3 and 
4 feel like oversights. But none of them are a big deal.
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to