Repository navigation
Pins the popup class names against the doc - #185
Merged
Merged
Conversation
The completion popup's DOM is built at runtime by the expression hook, so its class names appear in no HEEx template and no rendering test saw them. A new test reads the popup's table in the styling section of docs/ops-embedding.md and the hook's source, and holds them to the same class names in both directions; every attribute a documented selector names must be one the hook sets. The table and the hook agree today. Test only; no file under lib/ or assets/ changes. Refs: sui-bgw
johnnyt
force-pushed
the
sui-bgw-popup-class-names-test
branch
from
October 11, 2026 14:51
f68ab7a to
e57d94f
Compare
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.
Refs: sui-bgw
What
The completion popup's DOM is built at runtime by the expression hook (
assets/js/expression_input.js), so its class names appear in no HEEx template and no rendering test saw them; a rename in the hook would break a host's stylesheet silently.A new test,
test/statifier_ui/live/expression_popup_classes_test.exs, reads the popup's table in the "Styling and theming" section ofdocs/ops-embedding.md(the table after "Two of the surfaces a host styles are built by the hook at runtime") and the hook's source, and holds them together:className =orclassList.add, in both directions;data-kind) is one the hook sets withsetAttribute;The table and the hook agree today; neither changes.
Sabotage
Each mutation was applied to a copy-backed file, checked as applied, and restored byte-equal before the next:
datasetinstead ofsetAttribute: the attribute test failed on its assertion, the other two passed.The notes sit above the tests.
Gate
Full
mix qualitygreen on this head, attested bymix quality.verify. No changelog fragment: a test-only change takes none underchangelog.d/README.md.Review
In-turn review of the diff. No record text in this PR.