-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tracking issue: issues with testing and reporting workerd results #76
Comments
For 5, is this an option that can be set in our workerd runner? |
I don't think polyfilling |
@ascorbic ... for #5, yes, it would be set as a compat flag in the worker config. Honestly I think it should be the default already tho, I need to look into it a bit more.... Update: ah, yes, your |
Ah ok. If you'd like to do a PR to update it to the best settings to represent what users would get then that would be great. |
Ok, most of the issues here have been addressed in the runtime or the test harness (or in pending PRs). There are still a couple of remaining minor items (like the |
I'm going to use this issue to track a number of issues with the reporting of results for workerd. Will add issues as the cause is determined...
URL conformance... The results currently show workerd as not implemented URL. This is incorrect, workerd provides a fully WHATWG compliant URL implementation. It appears the issue causing workerd to fail these tests is that the tests themselves uselocation.href
, which workerd does not implement. Specifically,tests.json
includes a number of tests using the pattern:Either a different input URL should be used for the test harness ingenerator/runtimes/workerd/handler.ts
should be updated to polyfilllocation.href
The test results check forPR fix for workerd has landed. It is not yet in production. Should be relatively soon tho.AbortSignal.prototype.onabort
. Workerd definitely does not define theonabort
property on theAbortSignal
prototype but it does, in fact support use ofsignal.onabort = ...
. This is a discrepancy with how workerd supports the spec but given that the method does work, the result table is inaccurate. Implement AbortSignal.protototype.onabort cloudflare/workerd#1848The test results indicate that workerd does not support theThis is actually an issue with the test harness. Currently it tests for the presence of a class constructor by trying to call the constructor with no arguments. If it works, cool. If it throws, it determines support vs non-support by checking the error message. Unfortunately the harness currently does not account for the error messages provided by workerd so it flags those as failures. Update constructor harness to support workerd #119ByteLengthQueuingStrategy
. This might be a discrepancy in how the class is exposed on our global scope vs. how the test looks for it.self.ByteLengthQueuingStrategy
works just fine and the constructor is supported. I suspect that the same applies to theCompressionStream
constructor,CountQueuingStrategy
constructor,CustomEvent
constructor, etc.The test results indicate that workerd does not support theThe second argument to CloseEvent is supposed to be optional cloudflare/workerd#1849CloseEvent
. It actually does but we have a bug. The test tries to create theCloseEvent
using only a single string argument in the constructor, eliding the optional second options argument. Looks like workerd is incorrectly set to require that second argument right now so the test fails trying to construct the instance. I will open an issue to fix that, in the meantime tho, the rest of it is supported.The test results indicate that the newUpdate the workerd compatibility date #79Headers
getSetCookie()
API is not supported. This is false. Unfortunately for backwards compatibility reasons we require a compatibility flag to be set (https://developers.cloudflare.com/workers/configuration/compatibility-dates/#headers-supports-getsetcookie) to enable the feature but it is on by default as of a year ago.For the
PromiseRejectionEvent
, we definitely do not support the constructor but we do support thepromise
andreason
properties.For thePR fix for workerd has landed. It is not yet in production. Should be relatively soon tho.ReadableByteStreamController
desiredSize
property. This is a discrepancy with how workers exposes the property. The test looks for it on the prototype, while the runtime exposes it as an instance property. This is probably a bug in workerd that I need to look at but the property itself is supported. Likewise with theview
property onReadableStreamByobRequest
Convert the standard properties on streams objects to prototype cloudflare/workerd#1850TransformStreamDefaultController
is fully supported in workerd.We have a PR to improvePR landed.TextEncodingStream
andTextDecoderStream
conformance by adding the missing properties - Add standard properties to TextDecoderStream/TextEncoderStream cloudflare/workerd#1981We have a PR to addPR landed.reportError(...)
and add the missingErrorEvent
constructor - Implements the web platform standard reportError API cloudflare/workerd#1979I imagine that it will likely take a few pull requests (as well as a couple of modifications in workerd) to update the compat table for these cases.
The text was updated successfully, but these errors were encountered: