spectrum-web-components
spectrum-web-components copied to clipboard
Refactor Test Application
Code of conduct
- [X] I agree to follow this project's code of conduct.
Description of issue
Tests have been added to the project in a fairly ad hoc manner throughout its history. Refactoring tests to be delivered in via the following follows would make for component to component consistency and for a more clear destination for additional test contexts over time:
-
declarative.test.ts
: test all declarative usage of the element in question -
imperative.test.ts
: all imperative interactions -
keyboard.test.ts
: all keyboard interactions -
a11y-tree.test.ts
: the delivered a11y tree across various states -
controlled.test.ts
: that the element can be "controlled" by the parent application - etc.
To Dos:
- [x] accordion
- [ ] action-bar
- [ ] action-button
- [ ] action-group
- [ ] action-menu
- [ ] alert-dialog
- [ ] asset
- [ ] avatar
- [ ] badge
- [ ] banner
- [ ] button
- [ ] button-group
- [ ] card
- [ ] checkbox
- [ ] clear-button
- [ ] close-button
- [ ] coachmark
- [ ] color-area
- [ ] color-field
- [ ] color-handle
- [ ] color-loupe
- [ ] color-slider
- [ ] color-wheel
- [ ] combobox
- [ ] dialog
- [ ] divider
- [ ] dropzone
- [ ] field-group
- [ ] field-label
- [ ] help-text
- [ ] icon
- [ ] icons
- [ ] icons-ui
- [ ] icons-workflow
- [ ] iconset
- [ ] illustrated-message
- [ ] infield-button
- [ ] link
- [ ] menu
- [ ] meter
- [ ] modal
- [ ] number-field
- [ ] opacity-checkerboard
- [ ] overlay
- [ ] picker
- [ ] picker-button
- [ ] popover
- [ ] progress-bar
- [ ] progress-circle
- [ ] quick-actions
- [ ] radio
- [ ] search
- [ ] sidenav
- [ ] slider
- [ ] split-button
- [ ] split-view
- [ ] status-light
- [ ] swatch
- [ ] switch
- [ ] table
- [ ] tabs
- [ ] tags
- [ ] textfield
- [ ] thumbnail
- [ ] toast
- [ ] tooltip
- [ ] top-nav
- [ ] tray
- [ ] underlay
- [ ] base
- [ ] bundle
- [ ] grid
- [ ] opacity-checkerboard
- [ ] reactive-controllers
- [ ] shared
- [ ] styles
- [ ] theme
- [ ] truncated
The meat of this work will be addign tests to the controlled test group.
Instead of a11y-tree.testing.ts
being separated into its own file, a11y tree testing should be a part of all of the other test files.