mirror of
https://github.com/grafana/grafana.git
synced 2025-07-29 05:22:32 +08:00

* improve rule and fix remaining borderRadius violations * prettier * Add test case for nested classes * Fix unnecessary string wrapping --------- Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
63 lines
1.2 KiB
JavaScript
63 lines
1.2 KiB
JavaScript
import { RuleTester } from 'eslint';
|
|
|
|
import noBorderRadiusLiteral from '../rules/no-border-radius-literal.cjs';
|
|
|
|
RuleTester.setDefaultConfig({
|
|
languageOptions: {
|
|
ecmaVersion: 2018,
|
|
sourceType: 'module',
|
|
parserOptions: {
|
|
ecmaFeatures: {
|
|
jsx: true,
|
|
},
|
|
},
|
|
},
|
|
});
|
|
|
|
const expectedError = {
|
|
messageId: 'borderRadiusId',
|
|
};
|
|
|
|
const ruleTester = new RuleTester();
|
|
|
|
ruleTester.run('eslint no-border-radius-literal', noBorderRadiusLiteral, {
|
|
valid: [
|
|
{
|
|
code: `css({ borderRadius: theme.shape.radius.default })`,
|
|
},
|
|
{
|
|
code: `css({ borderRadius: theme.shape.radius.circle })`,
|
|
},
|
|
{
|
|
code: `css({ borderRadius: theme.shape.radius.pill })`,
|
|
},
|
|
],
|
|
|
|
invalid: [
|
|
{
|
|
code: `css({ borderRadius: '2px' })`,
|
|
errors: [expectedError],
|
|
},
|
|
{
|
|
code: `css({ lineHeight: 1 }, { borderRadius: '2px' })`,
|
|
errors: [expectedError],
|
|
},
|
|
{
|
|
code: `css([{ lineHeight: 1 }, { borderRadius: '2px' }])`,
|
|
errors: [expectedError],
|
|
},
|
|
{
|
|
name: 'nested classes',
|
|
code: `
|
|
css({
|
|
foo: {
|
|
nested: {
|
|
borderRadius: '100px',
|
|
},
|
|
},
|
|
})`,
|
|
errors: [expectedError],
|
|
},
|
|
],
|
|
});
|