Conversation
5764bbc to
b667bdf
Compare
1455bf8 to
529cd2d
Compare
|
@domenic Do you think we still need |
|
I'm not sure I understand enough project architecture to know exactly what those files are currently doing. We need to support this part of the spec: https://drafts.csswg.org/cssom/#the-cssstyledeclaration-interface:~:text=fontSize%20IDL%20attribute.-,For%20each%20CSS%20property%20property,exceptions%20thrown%20must%20be%20re%2Dthrown.,-For%20example%2C%20if . Do those files help with that? |
|
Back to draft. |
|
PR ready again. |
|
Sorry, found a bug. |
|
It ended up being a fairly large fix, but shouldn't be a breaking change. |
domenic
left a comment
There was a problem hiding this comment.
I finally tried to make some time to review this. It's... too large to really review. But I will sign off on it, and merge it and do a release this weekend.
The only things I would like to request is more details on "Updated CSSStyleDeclaration class to match the latest spec" and "Rewritten properties/*.js files". That would help write the changelog better.
Also worth noting, but not a blocking issue: the test coverage here is amazing. But I am sad it is not in web platform tests format, which would make it easier to validate that we are matching browser behavior.
I don't know what a good solution to this is since I know having quick to run unit tests in this project is nicer than having to do a full integration test with jsdom.
Some possible ideas:
-
Be sure we have jsdom web platform tests for all web platform issues opened by real users. E.g. #70, #124, #129 (you already added tests), jsdom/jsdom#3878, jsdom/jsdom#3833.
-
Use AI to port some tests, e.g.
CSSStyleDeclaration.test.jsandproperties.test.js. This is kind of annoying to keep in sync. -
Port the tests to web platform tests format, but write them in a way that they can be run with a small wrapper like https://github.com/jsdom/whatwg-url/blob/414f17a3459b0872baee7a2b77e23953b8a5ccd9/test/web-platform.js#L159-L188 .
If you are interested, feel free to open a tracking issue for these ideas. Or if you prefer just using the current workflow, that is fine too, as you are the one doing all of the work.
I think I can have them ready on Saturday, or at the latest by Sunday noon (JST), is that okay?
Interesting. |
35db5dd to
03b38ab
Compare
ATM, regression tests are **not** in web platform tests format.
|
@domenic |
Created
utils/camelize.jsPut generated files under
generated/Switched to
constandletUpdated code style rules through prettier
Added
@domenic/eslint-configrulesUpdated CSSStyleDeclaration class to match the latest spec
see https://drafts.csswg.org/cssom/#the-cssstyledeclaration-interface
cssTextgetter:cssTextsetter:removeProperty():setProperty():parentRule()getter:CSSRuleif associatedNote that the above flags and methods needs additional fixes on
jsdomsideitem():see also https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleDeclaration/item
-webkit-*prefixed properties:style['-webkit-foo'],style.webkitFooandstyle.WebkitFooare addedRewritten
properties/*.jsfilesexports.parse), validator (exports.isValid), and descriptor (exports.definition)azimuthand some deprecatedwebkitprefixed propertiessee also https://developer.mozilla.org/en-US/docs/Web/CSS/WebKit_Extensions
Renamed test files -> *.test.js and added tests
Fixes #200, Fixes #201, Fixes #202, Fixes #203, Fixes #204, Fixes #205,
Fixes #206, Fixes #207, Fixes #70, Fixes #124, Fixes #129,
Fix jsdom issues: jsdom/jsdom#3878, jsdom/jsdom#3833
Also we can close #120, I think.