On 2/17/14 4:27 PM, David Bruant wrote:
That said, it'd be excellent if Blink and Moz completed the current test
suite (Promise/A+)

Mozilla did, until we just removed cast(). Or at least we passed the test suite at http://domenic.me/aplus-tests-against-the-browser/

sure they implement the same thing to the finest detail

That's laughable, I'm sorry. That test suite is not even close to testing "finest details". See https://bugzilla.mozilla.org/show_bug.cgi?id=945766#c4 (and comment 6) and https://bugzilla.mozilla.org/show_bug.cgi?id=939332#c12 (and comment 15).

(and report spec
issues if such a thing arise).

It's hard for me, as an implementor, to tell to what extent subclassing support here is a bug vs a feature... It forces some operations to be done generically in ways that are pretty weird. For example, Promise.all calls C.cast() via Invoke, which means it might not actually get back the sort of promise "new C" would produce, or in fact not get back a promise at all. Then it calls nextPromise.then() via Invoke, which means it can get whatever the heck the callee wants to do there.

And of course the fact that the spec is still not updated to the latest decided-on changes makes it pretty hard to tell whether what we're shipping matches the spec in any way. We basically implemented based on a promise (pun intended) that the changes are just to rename "cast" to "resolve" and remove the old "resolve", but we have no idea whether that's what the spec will actually end up saying.

-Boris
_______________________________________________
dev-tech-js-engine-internals mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals

Reply via email to