Files
grafana/packages/grafana-eslint-rules/tests/no-border-radius-literal.test.js
Ashley Harrison b56a4a5295 Border radius: Improve rule and fix remaining violations (#104569)
* 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>
2025-04-30 14:03:54 +01:00

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],
},
],
});