diff --git a/crates/oxc_linter/src/rules/jest/no_conditional_expect.rs b/crates/oxc_linter/src/rules/jest/no_conditional_expect.rs index e07902bf6..7d4427f49 100644 --- a/crates/oxc_linter/src/rules/jest/no_conditional_expect.rs +++ b/crates/oxc_linter/src/rules/jest/no_conditional_expect.rs @@ -50,6 +50,17 @@ declare_oxc_lint!( // await foo().catch(error => expect(error).toBeInstanceOf(error)); // }); /// ``` + /// + /// This rule is compatible with [eslint-plugin-vitest](https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-expect.md), + /// to use it, add the following configuration to your `.eslintrc.json`: + /// + /// ```json + /// { + /// "rules": { + /// "vitest/no-conditional-expect": "error" + /// } + /// } + /// ``` NoConditionalExpect, correctness ); @@ -163,7 +174,7 @@ fn check_parents<'a>( fn test() { use crate::tester::Tester; - let pass = vec![ + let mut pass = vec![ ( " it('foo', () => { @@ -431,7 +442,7 @@ fn test() { ), ]; - let fail = vec![ + let mut fail = vec![ ( " it('foo', () => { @@ -886,5 +897,109 @@ fn test() { ), ]; - Tester::new(NoConditionalExpect::NAME, pass, fail).with_jest_plugin(true).test_and_snapshot(); + let pass_vitest = vec![ + " + it('foo', () => { + process.env.FAIL && setNum(1); + + expect(num).toBe(2); + }); + ", + " + function getValue() { + let num = 2; + + process.env.FAIL && setNum(1); + + return num; + } + + it('foo', () => { + expect(getValue()).toBe(2); + }); + ", + " + function getValue() { + let num = 2; + + process.env.FAIL || setNum(1); + + return num; + } + + it('foo', () => { + expect(getValue()).toBe(2); + }); + ", + " + it('foo', () => { + const num = process.env.FAIL ? 1 : 2; + + expect(num).toBe(2); + }); + ", + " + function getValue() { + return process.env.FAIL ? 1 : 2 + } + + it('foo', () => { + expect(getValue()).toBe(2); + }); + ", + ]; + + let fail_vitest = vec![ + " + it('foo', () => { + something && expect(something).toHaveBeenCalled(); + }) + ", + " + it('foo', () => { + a || (b && expect(something).toHaveBeenCalled()); + }) + ", + " + it.each``('foo', () => { + something || expect(something).toHaveBeenCalled(); + }); + ", + " + it.each()('foo', () => { + something || expect(something).toHaveBeenCalled(); + }) + ", + " + function getValue() { + something || expect(something).toHaveBeenCalled(); + } + it('foo', getValue); + ", + " + it('foo', () => { + something ? expect(something).toHaveBeenCalled() : noop(); + }) + ", + " + function getValue() { + something ? expect(something).toHaveBeenCalled() : noop(); + } + + it('foo', getValue); + ", + " + it('foo', () => { + something ? noop() : expect(something).toHaveBeenCalled(); + }) + ", + ]; + + pass.extend(pass_vitest.into_iter().map(|x| (x, None))); + fail.extend(fail_vitest.into_iter().map(|x| (x, None))); + + Tester::new(NoConditionalExpect::NAME, pass, fail) + .with_jest_plugin(true) + .with_vitest_plugin(true) + .test_and_snapshot(); } diff --git a/crates/oxc_linter/src/snapshots/no_conditional_expect.snap b/crates/oxc_linter/src/snapshots/no_conditional_expect.snap index 3f9f45a5f..eda016b57 100644 --- a/crates/oxc_linter/src/snapshots/no_conditional_expect.snap +++ b/crates/oxc_linter/src/snapshots/no_conditional_expect.snap @@ -1,7 +1,8 @@ --- source: crates/oxc_linter/src/tester.rs +assertion_line: 216 --- - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:3:34] 2 │ it('foo', () => { 3 │ something && expect(something).toHaveBeenCalled(); @@ -10,7 +11,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:3:31] 2 │ it('foo', () => { 3 │ a || b && expect(something).toHaveBeenCalled(); @@ -19,7 +20,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:3:33] 2 │ it('foo', () => { 3 │ (a || b) && expect(something).toHaveBeenCalled(); @@ -28,7 +29,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:3:32] 2 │ it('foo', () => { 3 │ a || (b && expect(something).toHaveBeenCalled()); @@ -37,7 +38,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:3:31] 2 │ it('foo', () => { 3 │ a && b && expect(something).toHaveBeenCalled(); @@ -46,7 +47,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:3:31] 2 │ it('foo', () => { 3 │ a && b || expect(something).toHaveBeenCalled(); @@ -55,7 +56,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:3:33] 2 │ it('foo', () => { 3 │ (a && b) || expect(something).toHaveBeenCalled(); @@ -64,7 +65,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:3:34] 2 │ function getValue() { 3 │ something && expect(something).toHaveBeenCalled(); @@ -73,7 +74,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:3:34] 2 │ it('foo', () => { 3 │ something || expect(something).toHaveBeenCalled(); @@ -82,7 +83,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:3:34] 2 │ it.each``('foo', () => { 3 │ something || expect(something).toHaveBeenCalled(); @@ -91,7 +92,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:3:34] 2 │ it.each()('foo', () => { 3 │ something || expect(something).toHaveBeenCalled(); @@ -100,7 +101,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:3:34] 2 │ function getValue() { 3 │ something || expect(something).toHaveBeenCalled(); @@ -109,7 +110,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:3:33] 2 │ it('foo', () => { 3 │ something ? expect(something).toHaveBeenCalled() : noop(); @@ -118,7 +119,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:3:33] 2 │ function getValue() { 3 │ something ? expect(something).toHaveBeenCalled() : noop(); @@ -127,7 +128,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:3:42] 2 │ it('foo', () => { 3 │ something ? noop() : expect(something).toHaveBeenCalled(); @@ -136,7 +137,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:3:42] 2 │ it.each``('foo', () => { 3 │ something ? noop() : expect(something).toHaveBeenCalled(); @@ -145,7 +146,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:3:42] 2 │ it.each()('foo', () => { 3 │ something ? noop() : expect(something).toHaveBeenCalled(); @@ -154,7 +155,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:3:42] 2 │ function getValue() { 3 │ something ? noop() : expect(something).toHaveBeenCalled(); @@ -163,7 +164,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:7:25] 6 │ default: 7 │ expect(something).toHaveBeenCalled(); @@ -172,7 +173,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:5:25] 4 │ case 'value': 5 │ expect(something).toHaveBeenCalled(); @@ -181,7 +182,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:5:25] 4 │ case 'value': 5 │ expect(something).toHaveBeenCalled(); @@ -190,7 +191,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:5:25] 4 │ case 'value': 5 │ expect(something).toHaveBeenCalled(); @@ -199,7 +200,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:7:25] 6 │ default: 7 │ expect(something).toHaveBeenCalled(); @@ -208,7 +209,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:4:25] 3 │ if(doSomething) { 4 │ expect(something).toHaveBeenCalled(); @@ -217,7 +218,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:6:25] 5 │ } else { 6 │ expect(something).toHaveBeenCalled(); @@ -226,7 +227,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:6:25] 5 │ } else { 6 │ expect(something).toHaveBeenCalled(); @@ -235,7 +236,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:6:25] 5 │ } else { 6 │ expect(something).toHaveBeenCalled(); @@ -244,7 +245,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:4:25] 3 │ if(doSomething) { 4 │ expect(something).toHaveBeenCalled(); @@ -253,7 +254,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:6:21] 5 │ } else { 6 │ expect(something).toHaveBeenCalled(); @@ -262,7 +263,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:6:21] 5 │ } catch (err) { 6 │ expect(err).toMatch('Error'); @@ -271,7 +272,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:6:21] 5 │ } catch (err) { 6 │ expect(err).toMatch('Error'); @@ -280,7 +281,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:6:25] 5 │ } catch (err) { 6 │ expect(err).toMatch('Error'); @@ -289,7 +290,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:6:25] 5 │ } catch (err) { 6 │ expect(err).toMatch('Error'); @@ -298,7 +299,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:6:25] 5 │ } catch (err) { 6 │ expect(err).toMatch('Error'); @@ -307,7 +308,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:6:21] 5 │ } catch { 6 │ expect(something).toHaveBeenCalled(); @@ -316,7 +317,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:5:37] 4 │ .then(() => { throw new Error('oh noes!'); }) 5 │ .catch(error => expect(error).toBeInstanceOf(Error)); @@ -325,7 +326,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:9:37] 8 │ .then(() => { throw new Error('oh noes!'); }) 9 │ .catch(error => expect(error).toBeInstanceOf(Error)); @@ -334,7 +335,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:7:37] 6 │ .then(() => { throw new Error('oh noes!'); }) 7 │ .catch(error => expect(error).toBeInstanceOf(Error)) @@ -343,7 +344,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:5:37] 4 │ .then(() => { throw new Error('oh noes!'); }) 5 │ .catch(error => expect(error).toBeInstanceOf(Error)) @@ -352,7 +353,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:6:32] 5 │ .catch(error => expect(error).toBeInstanceOf(Error)) 6 │ .catch(error => expect(error).toBeInstanceOf(Error)); @@ -361,7 +362,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:5:32] 4 │ .catch(error => expect(error).toBeInstanceOf(Error)) 5 │ .catch(error => expect(error).toBeInstanceOf(Error)) @@ -370,7 +371,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:4:32] 3 │ await Promise.resolve() 4 │ .catch(error => expect(error).toBeInstanceOf(Error)) @@ -379,7 +380,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:4:37] 3 │ await Promise.resolve() 4 │ .catch(error => expect(error).toBeInstanceOf(Error)) @@ -388,7 +389,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:5:37] 4 │ .then(() => { throw new Error('oh noes!'); }) 5 │ .catch(error => expect(error).toBeInstanceOf(Error)); @@ -397,7 +398,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:3:54] 2 │ it('works', async () => { 3 │ await somePromise.catch(error => expect(error).toBeInstanceOf(Error)); @@ -406,7 +407,7 @@ source: crates/oxc_linter/src/tester.rs ╰──── help: Avoid calling `expect` conditionally` - ⚠ eslint-plugin-jest(no-conditional-expect): Unexpected conditional expect + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect ╭─[no_conditional_expect.tsx:7:25] 6 │ if (vnode._nextDom) { 7 │ expect.fail('vnode should not have _nextDom:' + vnode._nextDom); @@ -414,3 +415,75 @@ source: crates/oxc_linter/src/tester.rs 8 │ } ╰──── help: Avoid calling `expect` conditionally` + + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect + ╭─[no_conditional_expect.tsx:3:30] + 2 │ it('foo', () => { + 3 │ something && expect(something).toHaveBeenCalled(); + · ────── + 4 │ }) + ╰──── + help: Avoid calling `expect` conditionally` + + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect + ╭─[no_conditional_expect.tsx:3:28] + 2 │ it('foo', () => { + 3 │ a || (b && expect(something).toHaveBeenCalled()); + · ────── + 4 │ }) + ╰──── + help: Avoid calling `expect` conditionally` + + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect + ╭─[no_conditional_expect.tsx:3:30] + 2 │ it.each``('foo', () => { + 3 │ something || expect(something).toHaveBeenCalled(); + · ────── + 4 │ }); + ╰──── + help: Avoid calling `expect` conditionally` + + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect + ╭─[no_conditional_expect.tsx:3:30] + 2 │ it.each()('foo', () => { + 3 │ something || expect(something).toHaveBeenCalled(); + · ────── + 4 │ }) + ╰──── + help: Avoid calling `expect` conditionally` + + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect + ╭─[no_conditional_expect.tsx:3:30] + 2 │ function getValue() { + 3 │ something || expect(something).toHaveBeenCalled(); + · ────── + 4 │ } + ╰──── + help: Avoid calling `expect` conditionally` + + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect + ╭─[no_conditional_expect.tsx:3:29] + 2 │ it('foo', () => { + 3 │ something ? expect(something).toHaveBeenCalled() : noop(); + · ────── + 4 │ }) + ╰──── + help: Avoid calling `expect` conditionally` + + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect + ╭─[no_conditional_expect.tsx:3:29] + 2 │ function getValue() { + 3 │ something ? expect(something).toHaveBeenCalled() : noop(); + · ────── + 4 │ } + ╰──── + help: Avoid calling `expect` conditionally` + + ⚠ eslint-plugin-vitest(no-conditional-expect): Unexpected conditional expect + ╭─[no_conditional_expect.tsx:3:38] + 2 │ it('foo', () => { + 3 │ something ? noop() : expect(something).toHaveBeenCalled(); + · ────── + 4 │ }) + ╰──── + help: Avoid calling `expect` conditionally` diff --git a/crates/oxc_linter/src/utils/mod.rs b/crates/oxc_linter/src/utils/mod.rs index 149008b7e..75efafd06 100644 --- a/crates/oxc_linter/src/utils/mod.rs +++ b/crates/oxc_linter/src/utils/mod.rs @@ -18,6 +18,7 @@ pub fn is_jest_rule_adapted_to_vitest(rule_name: &str) -> bool { "consistent-test-it", "expect-expect", "no-alias-methods", + "no-conditional-expect", "no-commented-out-tests", "no-disabled-tests", "no-focused-tests",