Skip to content

Commit

Permalink
chore(linter): simplify the tuple structure of test cases (#9309)
Browse files Browse the repository at this point in the history
  • Loading branch information
shulaoda authored Feb 23, 2025
1 parent 98d537e commit 8553e35
Show file tree
Hide file tree
Showing 13 changed files with 607 additions and 676 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -112,34 +112,33 @@ fn test() {
}

let pass = vec![
(r"<CustomComponent />;", None, None, None),
(r"<CustomComponent aria-activedescendant={someID} />;", None, None, None),
(r"<CustomComponent aria-activedescendant={someID} tabIndex={0} />;", None, None, None),
(r"<CustomComponent aria-activedescendant={someID} tabIndex={-1} />;", None, None, None),
(r"<CustomComponent />;", None, None),
(r"<CustomComponent aria-activedescendant={someID} />;", None, None),
(r"<CustomComponent aria-activedescendant={someID} tabIndex={0} />;", None, None),
(r"<CustomComponent aria-activedescendant={someID} tabIndex={-1} />;", None, None),
(
r"<CustomComponent aria-activedescendant={someID} tabIndex={0} />;",
None,
Some(settings()),
None,
),
(r"<div />;", None, None, None),
(r"<input />;", None, None, None),
(r"<div tabIndex={0} />;", None, None, None),
(r"<div aria-activedescendant={someID} tabIndex={0} />;", None, None, None),
(r"<div aria-activedescendant={someID} tabIndex='0' />;", None, None, None),
(r"<div aria-activedescendant={someID} tabIndex={1} />;", None, None, None),
(r"<input aria-activedescendant={someID} />;", None, None, None),
(r"<input aria-activedescendant={someID} tabIndex={1} />;", None, None, None),
(r"<input aria-activedescendant={someID} tabIndex={0} />;", None, None, None),
(r"<input aria-activedescendant={someID} tabIndex={-1} />;", None, None, None),
(r"<div aria-activedescendant={someID} tabIndex={-1} />;", None, None, None),
(r"<div aria-activedescendant={someID} tabIndex='-1' />;", None, None, None),
(r"<input aria-activedescendant={someID} tabIndex={-1} />;", None, None, None),
(r"<div />;", None, None),
(r"<input />;", None, None),
(r"<div tabIndex={0} />;", None, None),
(r"<div aria-activedescendant={someID} tabIndex={0} />;", None, None),
(r"<div aria-activedescendant={someID} tabIndex='0' />;", None, None),
(r"<div aria-activedescendant={someID} tabIndex={1} />;", None, None),
(r"<input aria-activedescendant={someID} />;", None, None),
(r"<input aria-activedescendant={someID} tabIndex={1} />;", None, None),
(r"<input aria-activedescendant={someID} tabIndex={0} />;", None, None),
(r"<input aria-activedescendant={someID} tabIndex={-1} />;", None, None),
(r"<div aria-activedescendant={someID} tabIndex={-1} />;", None, None),
(r"<div aria-activedescendant={someID} tabIndex='-1' />;", None, None),
(r"<input aria-activedescendant={someID} tabIndex={-1} />;", None, None),
];

let fail = vec![
(r"<div aria-activedescendant={someID} />;", None, None, None),
(r"<CustomComponent aria-activedescendant={someID} />;", None, Some(settings()), None),
(r"<div aria-activedescendant={someID} />;", None, None),
(r"<CustomComponent aria-activedescendant={someID} />;", None, Some(settings())),
];

Tester::new(
Expand Down
75 changes: 35 additions & 40 deletions crates/oxc_linter/src/rules/jsx_a11y/aria_role.rs
Original file line number Diff line number Diff line change
Expand Up @@ -211,49 +211,44 @@ fn test() {
}

let pass = vec![
("<div />", None, None, None),
("<div></div>", None, None, None),
("<div role={role} />", None, None, None),
("<div role={role || 'button'} />", None, None, None),
("<div role={role || 'foobar'} />", None, None, None),
("<div role='tabpanel row' />", None, None, None),
("<div role='switch' />", None, None, None),
("<div role='doc-abstract' />", None, None, None),
("<div role='doc-appendix doc-bibliography' />", None, None, None),
("<Bar baz />", None, None, None),
("<img role='invalid-role' />", Some(allowed_invalid_roles()), None, None),
("<img role='invalid-role tabpanel' />", Some(allowed_invalid_roles()), None, None),
(
"<img role='invalid-role other-invalid-role' />",
Some(allowed_invalid_roles()),
None,
None,
),
("<Foo role='bar' />", Some(ignore_non_dom_schema()), None, None),
("<fakeDOM role='bar' />", Some(ignore_non_dom_schema()), None, None),
("<img role='presentation' />", Some(ignore_non_dom_schema()), None, None),
("<Div role='button' />", None, Some(settings()), None),
("<Box asChild='div' role='button' />", None, Some(settings()), None),
("<svg role='graphics-document document' />", None, None, None),
("<div />", None, None),
("<div></div>", None, None),
("<div role={role} />", None, None),
("<div role={role || 'button'} />", None, None),
("<div role={role || 'foobar'} />", None, None),
("<div role='tabpanel row' />", None, None),
("<div role='switch' />", None, None),
("<div role='doc-abstract' />", None, None),
("<div role='doc-appendix doc-bibliography' />", None, None),
("<Bar baz />", None, None),
("<img role='invalid-role' />", Some(allowed_invalid_roles()), None),
("<img role='invalid-role tabpanel' />", Some(allowed_invalid_roles()), None),
("<img role='invalid-role other-invalid-role' />", Some(allowed_invalid_roles()), None),
("<Foo role='bar' />", Some(ignore_non_dom_schema()), None),
("<fakeDOM role='bar' />", Some(ignore_non_dom_schema()), None),
("<img role='presentation' />", Some(ignore_non_dom_schema()), None),
("<Div role='button' />", None, Some(settings())),
("<Box asChild='div' role='button' />", None, Some(settings())),
("<svg role='graphics-document document' />", None, None),
];

let fail = vec![
("<div role='foobar' />", None, None, None),
("<div role='datepicker'></div>", None, None, None),
("<div role='range'></div>", None, None, None),
("<div role='Button'></div>", None, None, None),
("<div role='></div>", None, None, None),
("<div role='tabpanel row foobar'></div>", None, None, None),
("<div role='tabpanel row range'></div>", None, None, None),
("<div role='doc-endnotes range'></div>", None, None, None),
("<div role />", None, None, None),
("<div role='unknown-invalid-role' />", Some(allowed_invalid_roles()), None, None),
("<div role={null}></div>", None, None, None),
("<Foo role='datepicker' />", None, None, None),
("<Foo role='Button' />", None, None, None),
("<Div role='Button' />", None, Some(settings()), None),
("<Div role='Button' />", Some(ignore_non_dom_schema()), Some(settings()), None),
("<Box asChild='div' role='Button' />", None, None, None),
("<div role='foobar' />", None, None),
("<div role='datepicker'></div>", None, None),
("<div role='range'></div>", None, None),
("<div role='Button'></div>", None, None),
("<div role='></div>", None, None),
("<div role='tabpanel row foobar'></div>", None, None),
("<div role='tabpanel row range'></div>", None, None),
("<div role='doc-endnotes range'></div>", None, None),
("<div role />", None, None),
("<div role='unknown-invalid-role' />", Some(allowed_invalid_roles()), None),
("<div role={null}></div>", None, None),
("<Foo role='datepicker' />", None, None),
("<Foo role='Button' />", None, None),
("<Div role='Button' />", None, Some(settings())),
("<Div role='Button' />", Some(ignore_non_dom_schema()), Some(settings())),
("<Box asChild='div' role='Button' />", None, None),
];

Tester::new(AriaRole::NAME, AriaRole::PLUGIN, pass, fail).test_and_snapshot();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,48 +92,43 @@ fn test() {
use crate::tester::Tester;

let pass = vec![
(r"<div onClick={() => void 0} onKeyDown={foo}/>;", None, None, None),
(r"<div onClick={() => void 0} onKeyUp={foo} />;", None, None, None),
(r"<div onClick={() => void 0} onKeyPress={foo}/>;", None, None, None),
(r"<div onClick={() => void 0} onKeyDown={foo} onKeyUp={bar} />;", None, None, None),
(r"<div onClick={() => void 0} onKeyDown={foo} {...props} />;", None, None, None),
(r#"<div className="foo" />;"#, None, None, None),
(r"<div onClick={() => void 0} aria-hidden />;", None, None, None),
(r"<div onClick={() => void 0} aria-hidden={true} />;", None, None, None),
(r"<div onClick={() => void 0} aria-hidden={false} onKeyDown={foo} />;", None, None, None),
(
r"<div onClick={() => void 0} onKeyDown={foo} aria-hidden={undefined} />;",
None,
None,
None,
),
(r#"<input type="text" onClick={() => void 0} />"#, None, None, None),
(r"<input onClick={() => void 0} />", None, None, None),
(r#"<button onClick={() => void 0} className="foo" />"#, None, None, None),
(r#"<select onClick={() => void 0} className="foo" />"#, None, None, None),
(r#"<textarea onClick={() => void 0} className="foo" />"#, None, None, None),
(r#"<a onClick={() => void 0} href="http://x.y.z" />"#, None, None, None),
(r#"<a onClick={() => void 0} href="http://x.y.z" tabIndex="0" />"#, None, None, None),
(r#"<input onClick={() => void 0} type="hidden" />;"#, None, None, None),
(r#"<div onClick={() => void 0} role="presentation" />;"#, None, None, None),
(r#"<div onClick={() => void 0} role="none" />;"#, None, None, None),
(r"<TestComponent onClick={doFoo} />", None, None, None),
(r"<Button onClick={doFoo} />", None, None, None),
(r"<Footer onClick={doFoo} />", None, None, None),
(r"<div onClick={() => void 0} onKeyDown={foo}/>;", None, None),
(r"<div onClick={() => void 0} onKeyUp={foo} />;", None, None),
(r"<div onClick={() => void 0} onKeyPress={foo}/>;", None, None),
(r"<div onClick={() => void 0} onKeyDown={foo} onKeyUp={bar} />;", None, None),
(r"<div onClick={() => void 0} onKeyDown={foo} {...props} />;", None, None),
(r#"<div className="foo" />;"#, None, None),
(r"<div onClick={() => void 0} aria-hidden />;", None, None),
(r"<div onClick={() => void 0} aria-hidden={true} />;", None, None),
(r"<div onClick={() => void 0} aria-hidden={false} onKeyDown={foo} />;", None, None),
(r"<div onClick={() => void 0} onKeyDown={foo} aria-hidden={undefined} />;", None, None),
(r#"<input type="text" onClick={() => void 0} />"#, None, None),
(r"<input onClick={() => void 0} />", None, None),
(r#"<button onClick={() => void 0} className="foo" />"#, None, None),
(r#"<select onClick={() => void 0} className="foo" />"#, None, None),
(r#"<textarea onClick={() => void 0} className="foo" />"#, None, None),
(r#"<a onClick={() => void 0} href="http://x.y.z" />"#, None, None),
(r#"<a onClick={() => void 0} href="http://x.y.z" tabIndex="0" />"#, None, None),
(r#"<input onClick={() => void 0} type="hidden" />;"#, None, None),
(r#"<div onClick={() => void 0} role="presentation" />;"#, None, None),
(r#"<div onClick={() => void 0} role="none" />;"#, None, None),
(r"<TestComponent onClick={doFoo} />", None, None),
(r"<Button onClick={doFoo} />", None, None),
(r"<Footer onClick={doFoo} />", None, None),
];

let fail = vec![
(r"<div onClick={() => void 0} />;", None, None, None),
(r"<div onClick={() => void 0} role={undefined} />;", None, None, None),
(r"<div onClick={() => void 0} {...props} />;", None, None, None),
(r"<section onClick={() => void 0} />;", None, None, None),
(r"<main onClick={() => void 0} />;", None, None, None),
(r"<article onClick={() => void 0} />;", None, None, None),
(r"<header onClick={() => void 0} />;", None, None, None),
(r"<footer onClick={() => void 0} />;", None, None, None),
(r"<div onClick={() => void 0} aria-hidden={false} />;", None, None, None),
(r"<a onClick={() => void 0} />", None, None, None),
(r#"<a tabIndex="0" onClick={() => void 0} />"#, None, None, None),
(r"<div onClick={() => void 0} />;", None, None),
(r"<div onClick={() => void 0} role={undefined} />;", None, None),
(r"<div onClick={() => void 0} {...props} />;", None, None),
(r"<section onClick={() => void 0} />;", None, None),
(r"<main onClick={() => void 0} />;", None, None),
(r"<article onClick={() => void 0} />;", None, None),
(r"<header onClick={() => void 0} />;", None, None),
(r"<footer onClick={() => void 0} />;", None, None),
(r"<div onClick={() => void 0} aria-hidden={false} />;", None, None),
(r"<a onClick={() => void 0} />", None, None),
(r#"<a tabIndex="0" onClick={() => void 0} />"#, None, None),
(
r"<Footer onClick={doFoo} />",
None,
Expand All @@ -144,7 +139,6 @@ fn test() {
}
} }
})),
None,
),
];

Expand Down
40 changes: 20 additions & 20 deletions crates/oxc_linter/src/rules/jsx_a11y/html_has_lang.rs
Original file line number Diff line number Diff line change
Expand Up @@ -114,29 +114,29 @@ fn test() {
}

let pass = vec![
(r"<div />;", None, None, None),
(r#"<html lang="en" />"#, None, None, None),
(r#"<html lang="en-US" />"#, None, None, None),
(r#"<html lang={"en-US"} />"#, None, None, None),
(r"<html lang={`en-US`} />", None, None, None),
(r"<html lang={`${foo}`} />", None, None, None),
(r"<html lang={foo} />;", None, None, None),
(r"<html lang />;", None, None, None),
(r"<HTML />;", None, None, None),
("<HTMLTop lang='en' />", None, Some(settings()), None),
(r"<div />;", None, None),
(r#"<html lang="en" />"#, None, None),
(r#"<html lang="en-US" />"#, None, None),
(r#"<html lang={"en-US"} />"#, None, None),
(r"<html lang={`en-US`} />", None, None),
(r"<html lang={`${foo}`} />", None, None),
(r"<html lang={foo} />;", None, None),
(r"<html lang />;", None, None),
(r"<HTML />;", None, None),
("<HTMLTop lang='en' />", None, Some(settings())),
];

let fail = vec![
(r"<html />;", None, None, None),
(r"<html {...props} />;", None, None, None),
(r"<html lang={undefined} />;", None, None, None),
(r"<html lang={null} />;", None, None, None),
(r"<html lang={false} />;", None, None, None),
(r"<html lang={1} />;", None, None, None),
(r"<html lang={''} />;", None, None, None),
(r"<html lang={``} />;", None, None, None),
(r#"<html lang="" />;"#, None, None, None),
("<HTMLTop />", None, Some(settings()), None),
(r"<html />;", None, None),
(r"<html {...props} />;", None, None),
(r"<html lang={undefined} />;", None, None),
(r"<html lang={null} />;", None, None),
(r"<html lang={false} />;", None, None),
(r"<html lang={1} />;", None, None),
(r"<html lang={''} />;", None, None),
(r"<html lang={``} />;", None, None),
(r#"<html lang="" />;"#, None, None),
("<HTMLTop />", None, Some(settings())),
];

Tester::new(HtmlHasLang::NAME, HtmlHasLang::PLUGIN, pass, fail)
Expand Down
40 changes: 20 additions & 20 deletions crates/oxc_linter/src/rules/jsx_a11y/lang.rs
Original file line number Diff line number Diff line change
Expand Up @@ -111,29 +111,29 @@ fn test() {
}

let pass = vec![
("<div />;", None, None, None),
("<div foo='bar' />;", None, None, None),
("<div lang='foo' />;", None, None, None),
("<html lang='en' />", None, None, None),
("<html lang='en-US' />", None, None, None),
("<html lang='zh-Hans' />", None, None, None),
("<html lang='zh-Hant-HK' />", None, None, None),
("<html lang='zh-yue-Hant' />", None, None, None),
("<html lang='ja-Latn' />", None, None, None),
("<html lang={foo} />", None, None, None),
("<HTML lang='foo' />", None, None, None),
("<Foo lang={undefined} />", None, None, None),
("<Foo lang='en' />", None, Some(settings()), None),
("<Box as='html' lang='en' />", None, Some(settings()), None),
("<div />;", None, None),
("<div foo='bar' />;", None, None),
("<div lang='foo' />;", None, None),
("<html lang='en' />", None, None),
("<html lang='en-US' />", None, None),
("<html lang='zh-Hans' />", None, None),
("<html lang='zh-Hant-HK' />", None, None),
("<html lang='zh-yue-Hant' />", None, None),
("<html lang='ja-Latn' />", None, None),
("<html lang={foo} />", None, None),
("<HTML lang='foo' />", None, None),
("<Foo lang={undefined} />", None, None),
("<Foo lang='en' />", None, Some(settings())),
("<Box as='html' lang='en' />", None, Some(settings())),
];

let fail = vec![
("<html lang='foo' />", None, None, None),
("<html lang='n'></html>", None, None, None),
("<html lang='zz-LL' />", None, None, None),
("<html lang={undefined} />", None, None, None),
("<Foo lang={undefined} />", None, Some(settings()), None),
("<Box as='html' lang='foo' />", None, Some(settings()), None),
("<html lang='foo' />", None, None),
("<html lang='n'></html>", None, None),
("<html lang='zz-LL' />", None, None),
("<html lang={undefined} />", None, None),
("<Foo lang={undefined} />", None, Some(settings())),
("<Box as='html' lang='foo' />", None, Some(settings())),
];

Tester::new(Lang::NAME, Lang::PLUGIN, pass, fail).test_and_snapshot();
Expand Down
Loading

0 comments on commit 8553e35

Please sign in to comment.