diff --git a/crates/oxc_linter/src/rules/jsx_a11y/lang.rs b/crates/oxc_linter/src/rules/jsx_a11y/lang.rs index d8820c974..a16e28a21 100644 --- a/crates/oxc_linter/src/rules/jsx_a11y/lang.rs +++ b/crates/oxc_linter/src/rules/jsx_a11y/lang.rs @@ -94,8 +94,7 @@ fn is_valid_lang_prop(item: &JSXAttributeItem) -> bool { !container.expression.is_expression() || !container.expression.is_undefined() } Some(JSXAttributeValue::StringLiteral(str)) => { - let language_tag = LanguageTag::parse(str.value.as_str()).unwrap(); - language_tag.is_valid() + LanguageTag::parse(str.value.as_str()).as_ref().is_ok_and(LanguageTag::is_valid) } _ => true, } @@ -135,6 +134,7 @@ fn test() { let fail = vec![ ("", None, None, None), + ("", None, None, None), ("", None, None, None), ("", None, None, None), ("", None, Some(settings()), None), diff --git a/crates/oxc_linter/src/snapshots/lang.snap b/crates/oxc_linter/src/snapshots/lang.snap index ccb95a9a7..9bc271ccb 100644 --- a/crates/oxc_linter/src/snapshots/lang.snap +++ b/crates/oxc_linter/src/snapshots/lang.snap @@ -8,6 +8,13 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Set a valid value for lang attribute. + ⚠ eslint-plugin-jsx-a11y(lang): Lang attribute must have a valid value. + ╭─[lang.tsx:1:7] + 1 │ + · ──────── + ╰──── + help: Set a valid value for lang attribute. + ⚠ eslint-plugin-jsx-a11y(lang): Lang attribute must have a valid value. ╭─[lang.tsx:1:7] 1 │