Found while sweeping unused imports for #6467 (PR #7332). Filed rather than fixed there: that PR is removal-only and mechanical by charter, and writing three widget test cases is neither.
Filed because the sweep destroyed the evidence.packages/fields/src/standard-widgets.test.tsx imported ten widgets and exercised seven. The three unused imports were the only visible trace of the gap, and they were exactly the kind of finding that sweep is chartered to delete:
packages/fields/src/standard-widgets.test.tsx:18 DateField [named, sole from ./widgets/DateField]
packages/fields/src/standard-widgets.test.tsx:21 PhoneField [named, sole from ./widgets/PhoneField]
packages/fields/src/standard-widgets.test.tsx:22 TextAreaField [named, sole from ./widgets/TextAreaField]
Removing them is correct — an unused import asserts nothing, so nothing was lost in coverage terms. But it does mean the file now reads as a complete, tidy suite over the standard widget set, with no signal at all that three members of that set are missing. That is a strictly worse state to leave undocumented than the one before, which is why this card exists.
What is and is not claimed
- The file is
describe('Standard Field Widgets') and holds cases for CurrencyField, NumberField, TextField, SelectField, BooleanField, EmailField and UrlField. - DateField, PhoneField and TextAreaField were imported alongside them and never rendered.
- Not claimed: that these three widgets are untested anywhere in the repo. This card is about the file that presents itself as the standard-widget suite; whoever picks it up should first check whether coverage lives elsewhere, and if it does, the answer may simply be a pointer comment rather than three new cases.
Why it is worth a look rather than a shrug
The three are not arbitrary. DateField is the widget whose value handling has already produced at least two defects in this repo's history, and the two other date-shaped widgets in the same directory (toDateInputValue, openNativePicker) are helpers it alone routes through. A readonly/edit-mode round trip on it is the same shape as the cases the file already writes for CurrencyField.
No assignee — recording, not claiming.
Found while sweeping unused imports for #6467 (PR #7332). Filed rather than fixed there: that PR is removal-only and mechanical by charter, and writing three widget test cases is neither.
Filed because the sweep destroyed the evidence.
packages/fields/src/standard-widgets.test.tsximported ten widgets and exercised seven. The three unused imports were the only visible trace of the gap, and they were exactly the kind of finding that sweep is chartered to delete:Removing them is correct — an unused import asserts nothing, so nothing was lost in coverage terms. But it does mean the file now reads as a complete, tidy suite over the standard widget set, with no signal at all that three members of that set are missing. That is a strictly worse state to leave undocumented than the one before, which is why this card exists.
What is and is not claimed
describe('Standard Field Widgets')and holds cases for CurrencyField, NumberField, TextField, SelectField, BooleanField, EmailField and UrlField.Why it is worth a look rather than a shrug
The three are not arbitrary.
DateFieldis the widget whose value handling has already produced at least two defects in this repo's history, and the two other date-shaped widgets in the same directory (toDateInputValue,openNativePicker) are helpers it alone routes through. A readonly/edit-mode round trip on it is the same shape as the cases the file already writes forCurrencyField.No assignee — recording, not claiming.