Skip to content

Commit 31721bd

Browse files
authored
Merge pull request #721 from jsx-eslint/dynamic-input-type-autocomplete
Add failing test for autocomplete with dynamic type
2 parents 7a34e45 + 2c47f0a commit 31721bd

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

__tests__/src/rules/autocomplete-valid-test.js

+1
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ ruleTester.run('autocomplete-valid', rule, {
5454
{ code: '<input type="text" autocomplete="invalid name" />;', errors: invalidAutocomplete },
5555
{ code: '<input type="text" autocomplete="home url" />;', errors: invalidAutocomplete },
5656
{ code: '<Bar autocomplete="baz"></Bar>;', errors: invalidAutocomplete, options: [{ inputComponents: ['Bar'] }] },
57+
{ code: '<input type={isEmail ? "email" : "text"} autocomplete="none" />;', errors: invalidAutocomplete },
5758

5859
// FAILED "autocomplete-appropriate"
5960
{ code: '<input type="date" autocomplete="email" />;', errors: inappropriateAutocomplete },

src/rules/autocomplete-valid.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,13 @@ module.exports = {
3535
return;
3636
}
3737

38+
const type = getLiteralPropValue(getProp(node.attributes, 'type'));
3839
const { violations } = runVirtualRule('autocomplete-valid', {
3940
nodeName: 'input',
4041
attributes: {
4142
autocomplete,
4243
// Which autocomplete is valid depends on the input type
43-
type: getLiteralPropValue(getProp(node.attributes, 'type')),
44+
type: type === null ? undefined : type,
4445
},
4546
});
4647

0 commit comments

Comments
 (0)