Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions src/rules/require-logical-keywords/rule.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -94,3 +94,37 @@ testRule({
],
/* eslint-enable sort-keys */
});

testRule({
config: [
true,
{
message: (actual: string, expected: string) =>
`Expected "${actual}" to be "${expected}"`,
},
],
ruleName: name,
/* eslint-disable sort-keys */
reject: [
{
code: 'div { resize: inline vertical; }',
description: 'Using resize with physical and logical values',
fixed: 'div { resize: inline block; }',
message: `Expected "vertical" to be "block" (${name})`,
},
{
code: 'div { resize: horizontal vertical; }',
description: 'Using resize with physical values only',
fixed: 'div { resize: inline block; }',
warnings: [
{
message: `Expected "horizontal" to be "inline" (${name})`,
},
{
message: `Expected "vertical" to be "block" (${name})`,
},
],
},
],
/* eslint-enable sort-keys */
});
3 changes: 2 additions & 1 deletion src/rules/require-logical-keywords/rule.ts
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,8 @@ export const requireLogicalKeywords: Rule = (
logicalKeyword,
);
},
message: messages.error(keyword, logicalKeyword),
message: messages.error,
messageArgs: [keyword, logicalKeyword],
node: decl,
result,
ruleName: name,
Expand Down
30 changes: 30 additions & 0 deletions src/rules/require-logical-properties/rule.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,33 @@ testRule({
],
/* eslint-enable sort-keys */
});

testRule({
config: [
true,
{
message: (actual: string, expected: string) =>
`Expected "${actual}" to be "${expected}"`,
},
],
ruleName: name,
/* eslint-disable sort-keys */
reject: [
{
code: `body { width: 100%; }`,
description: 'Using physical width property',
message: `Expected "width" to be "inline-size" (${name})`,
fixed: `body { ${physicalToLogicalPropertyMap['width' as PhysicalProperty]}: 100%; };`,
},
{
code: `body { width: 100%; height: 100%; }`,
description: 'Using physical width and height properties',
warnings: [
{ message: `Expected "width" to be "inline-size" (${name})` },
{ message: `Expected "height" to be "block-size" (${name})` },
],
fixed: `body { ${physicalToLogicalPropertyMap['width' as PhysicalProperty]}: 100%; ${physicalToLogicalPropertyMap['height' as PhysicalProperty]}: 100%; };`,
},
],
/* eslint-enable sort-keys */
});
3 changes: 2 additions & 1 deletion src/rules/require-logical-properties/rule.ts
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,8 @@ export const requireLogicalProperties: Rule = (
fix: () => {
decl.prop = decl.prop.replace(sanitizedProperty, logicalPropertyEquivalent);
},
message: messages.error(rawProperty, logicalPropertyEquivalent),
message: messages.error,
messageArgs: [rawProperty, logicalPropertyEquivalent],
node: decl,
result,
ruleName: name,
Expand Down
28 changes: 28 additions & 0 deletions src/rules/require-logical-units/rule.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -89,3 +89,31 @@ testRule({
],
/* eslint-enable sort-keys */
});

testRule({
config: [
true,
{
message: (actual: string, expected: string) =>
`Expected "${actual}" to be "${expected}"`,
},
],
ruleName: name,
/* eslint-disable sort-keys */
reject: [
{
code: 'div { inset: 100dvh 50vw 0 0; };',
description:
'Using multiple physical units in a shorthand property where one is ignored, but not the other',
warnings: [
{
message: `Expected "dvh" to be "dvb" (${name})`,
},
{
message: `Expected "vw" to be "vi" (${name})`,
},
],
},
],
/* eslint-enable sort-keys */
});
3 changes: 2 additions & 1 deletion src/rules/require-logical-units/rule.ts
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,8 @@ export const requireLogicalUnits: Rule = (
);
decl.value = fixedValue;
},
message: messages.error(unit, logicalUnit),
message: messages.error,
messageArgs: [unit, logicalUnit],
node: decl,
result,
ruleName: name,
Expand Down
Loading