From 46c112edfdcb40681a8997ec4f47b413a08fdd14 Mon Sep 17 00:00:00 2001 From: dan Date: Fri, 5 Apr 2024 15:09:35 +0100 Subject: Enforce that text is wrapped in , remaining cases (#3421) * Toggle.Button -> Toggle.ButtonWithText * Simplify Prompt.Cancel/Action * Move lines down for better diff * Remove ButtonWithText * Simplify types * Enforce Button/ButtonText nesting * Add suggested wrapper in linter error * Check ancestry too * Also check literals * Rm ts-ignore --- eslint/__tests__/avoid-unwrapped-text.test.js | 339 +++++++++++++++++++++++++- 1 file changed, 338 insertions(+), 1 deletion(-) (limited to 'eslint/__tests__/avoid-unwrapped-text.test.js') diff --git a/eslint/__tests__/avoid-unwrapped-text.test.js b/eslint/__tests__/avoid-unwrapped-text.test.js index 7c667b4a8..a6762b8fd 100644 --- a/eslint/__tests__/avoid-unwrapped-text.test.js +++ b/eslint/__tests__/avoid-unwrapped-text.test.js @@ -199,7 +199,7 @@ describe('avoid-unwrapped-text', () => { { code: ` -foo }> @@ -281,6 +281,170 @@ function MyText({ foo }) { } `, }, + + { + code: ` + + {'foo'} + + `, + }, + + { + code: ` + + {foo + 'foo'} + + `, + }, + + { + code: ` + + {'foo'} + + `, + }, + + { + code: ` + + {foo['bar'] && } + + `, + }, + + { + code: ` + + {(foo === 'bar') && } + + `, + }, + + { + code: ` + + {(foo !== 'bar') && } + + `, + }, + + { + code: ` + + {\`foo\`} + + `, + }, + + { + code: ` + + {\`foo\`} + + `, + }, + + { + code: ` + + {_(msg\`foo\`)} + + `, + }, + + { + code: ` + + {_(msg\`foo\`)} + + `, + }, + + { + code: ` + + + + + + `, + }, + + { + code: ` + + stuff('foo')}> + + + + `, + }, + + { + code: ` + + {renderItem('foo')} + + `, + }, + + { + code: ` + + {foo === 'foo' && } + + `, + }, + + { + code: ` + + {foo['foo'] && } + + `, + }, + + { + code: ` + + {check('foo') && } + + `, + }, + + { + code: ` + + {foo.bar && } + + `, + }, + + { + code: ` + + {renderItem('foo')} + + `, + }, + + { + code: ` + + {null} + + `, + }, + + { + code: ` + + {null} + + `, + }, ], invalid: [ @@ -455,6 +619,179 @@ function MyText({ foo }) { `, errors: 1, }, + + { + code: ` + + {'foo'} + + `, + errors: 1, + }, + + { + code: ` + + {foo && 'foo'} + + `, + errors: 1, + }, + + { + code: ` + + {'foo'} + + `, + errors: 1, + }, + + { + code: ` + + {foo && {'foo'}} + + `, + errors: 1, + }, + + { + code: ` + + {10} + + `, + errors: 1, + }, + + { + code: ` + + {10} + + `, + errors: 1, + }, + + { + code: ` + + {foo + 10} + + `, + errors: 1, + }, + + { + code: ` + + {\`foo\`} + + `, + errors: 1, + }, + + { + code: ` + + {\`foo\`} + + `, + errors: 1, + }, + + { + code: ` + + {foo + \`foo\`} + + `, + errors: 1, + }, + + { + code: ` + + {_(msg\`foo\`)} + + `, + errors: 1, + }, + + { + code: ` + + {foo + _(msg\`foo\`)} + + `, + errors: 1, + }, + + { + code: ` + + {_(msg\`foo\`)} + + `, + errors: 1, + }, + + { + code: ` + + {foo + _(msg\`foo\`)} + + `, + errors: 1, + }, + + { + code: ` + + foo + + `, + errors: 1, + }, + + { + code: ` + + foo + + `, + errors: 1, + }, + + { + code: ` + + {foo} + + `, + errors: 1, + }, + + { + code: ` + + {'foo'} + + `, + errors: 1, + }, + + { + code: ` +foo +}> + + + `, + errors: 1, + }, ], } -- cgit 1.4.1