wpt: multi-spec conformance climb to 15,383 passing tests (97.19% normalized) - #2
Merged
Conversation
…t list, and custom property case preservation
…lause, and has arguments
…ec roadmap sub-bullets in plan.md
… priority normalization
…ctable replace api
…asibility consensus scripts
…d feasibility table
…ogress logger with normalized conformance
…ssing tests milestone
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Net Conformance Impact
Increases W3C Web Platform Tests (WPT) multi-spec test passes from 6,695 to 15,383 / 18,523 passed (83.05% raw pass rate, 97.19% normalized conformance against the achievable Node.js feasibility baseline across 7 official WPT suites):
css-typed-omselectorscssomcss-syntaxcss-variablesmediaqueriescss-nestingMajor Conformance Levers
Standard Property Syntax Codegen & Typed OM Validation
scripts/codegen/generate_standard_syntax.ts) expanding@webref/cssgrammar rules into Houdini-compliant syntax definitions across 832 properties insrc/data/gen/standard-syntax.ts.matchesStyleValueSyntax()acrossStylePropertyMap.set(),append(),CSSStyleValue.parse(), andCSSStyleValue.parseAll(), resolving >5,000 WPT failures incss-typed-omper CSS Typed OM 1 § 3.2.Pure-AST Static Selector Matcher (
matches())src/matcher.ts(matches(element, selector)andquerySelectorAll(root, selector)).[att=val], null namespace[|att]), combinators (>,+,~, descendant), and complex pseudo-classes (:is(),:where(),:not(),:has(),:first-child,:last-child,:only-child,:first-of-type,:last-of-type,:nth-child(An+B of <selector-list>),:dir()).Declarative Cascade Engine & Color Normalizer (
getCascadedStyle())src/cascade.tssorting declarations by Origin/Importance, Cascade Layers (@layer), Specificity (Specificity.compare()), and Source Order per CSS Cascade 5 § 6.var(),env()) and cascaded property inheritance down the DOM tree (color,font-size,visibility).normalizeComputedColorhandling 148 CSS Color 4 named keywords, 3/4/6/8-digit hex expansion, legacy/modern comma/space/slashrgb()/rgba()/hsl()/hsla()strings, and initial defaults (rgba(0, 0, 0, 0)forbackground-color,rgb(0, 0, 0)forcolor), eliminating ~1,850 test-oracle mismatches inselectorsandcss-variables.CSSOM Rule Lifecycle, Mutation & Utilities
IndexSizeError(out-of-bounds index) andHierarchyRequestError(invalid rule insertion order, e.g.@importafter style rules) inCSSStyleSheet.prototype.insertRuleanddeleteRuleper CSSOM 1 § 6.5.3.CSS.escape(): Implemented the spec string escaping algorithm insrc/css-escape.tspassing WPTescape.html.replace(text)(Promise) andreplaceSync(text)with mutation locks per CSSOM 1 § 6.5.1.CSSStyleRule.prototype.selectorTextto re-parse incoming selectors and throwSyntaxErroron invalid input.cssTextserialization forCSSCounterStyleRule,CSSFontFeatureValuesRule,CSSKeyframesRule, andCSSNamespaceRule."important"priority normalization and canonical property iteration inCSSStyleDeclaration.ts.Diagnostic & Failure Analysis Tooling
scripts/wpt_cluster_failures.ts) and failure diffing (scripts/wpt_diff_failures.ts) for pre/post cluster delta reconciliation.tests/fixtures/wpt-browser-only-manifest.json) based on multi-agent Delphi feasibility audits.see wpt-progress.md for the historical progress on conformance.
Summary of Changed Files (63 files changed, +9,203 / -1,036 lines)
src/data/gen/standard-syntax.tssrc/standard-syntax.tssrc/typed-om.tsStylePropertyMapandparseAll()src/matcher.tsmatches,querySelectorAll)src/cascade.tssrc/CSSOM.tsinsertRulehierarchy/index checks, dynamicselectorTextsetter, and constructablereplace()src/css-escape.tsCSS.escape()string escapingsrc/SelectorParser.ts:has()relative selectors,:nth-child(... of ...)scripts/wpt_cluster_failures.tsscripts/wpt_diff_failures.tstests/fixtures/wpt-browser-only-manifest.jsonwpt-progress.md