UNPKG

@udyux/stylelint-order

Version:

[fork] A collection of order related linting rules for stylelint.

354 lines (326 loc) 4.33 kB
const rule = require('..'); const { ruleName, messages } = rule; testRule({ ruleName, config: [ ['height', 'width'], { unspecified: 'bottom', emptyLineBeforeUnspecified: 'always', }, ], fix: true, accept: [ { description: '1', code: ` a { height: 20px; width: 20px; font-style: italic; } `, }, { description: '2', code: ` a { height: 20px; width: 20px; font-style: italic; } `, }, { description: '3', code: ` a { height: 20px; font-style: italic; } `, }, { description: '4', code: ` a { font-style: italic; } `, }, { description: '5', code: ` a { } `, }, { description: '6', code: ` a { height: 20px; /* other props */ font-style: italic; } `, }, { description: '7', code: ` a { height: 20px; /* other props */ font-style: italic; } `, }, { description: '8', code: ` a { height: 20px; width: 20px; b { font-style: italic; } } `, }, { description: '9', code: ` a { height: 20px; width: 20px; b { font-style: italic; } } `, }, ], reject: [ { description: '10', code: ` a { height: 20px; width: 20px; font-style: italic; } `, fixed: ` a { height: 20px; width: 20px; font-style: italic; } `, message: messages.expectedEmptyLineBefore('font-style'), }, { description: '11', code: ` a { height: 20px; width: 20px; font-style: italic; } `, fixed: ` a { height: 20px; width: 20px; font-style: italic; } `, message: messages.expectedEmptyLineBefore('font-style'), }, { description: '12', code: ` a { height: 20px; font-style: italic; } `, fixed: ` a { height: 20px; font-style: italic; } `, message: messages.expectedEmptyLineBefore('font-style'), }, { description: '12', code: ` a { font-style: italic; } `, fixed: ` a { font-style: italic; } `, message: messages.rejectedEmptyLineBefore('font-style'), }, ], }); testRule({ ruleName, config: [ ['height', 'width'], { unspecified: 'bottom', emptyLineBeforeUnspecified: 'never', }, ], fix: true, accept: [ { description: '13', code: ` a { height: 20px; width: 20px; font-style: italic; } `, }, { description: '14', code: ` a { height: 20px; width: 20px; font-style: italic; } `, }, { description: '15', code: ` a { height: 20px; font-style: italic; } `, }, { description: '16', code: ` a { font-style: italic; } `, }, { description: '17', code: ` a { } `, }, { description: '18', code: ` a { height: 20px; /* other props */ font-style: italic; } `, }, { description: '19', code: ` a { height: 20px; /* other props */ font-style: italic; } `, }, { description: '20', code: ` a { height: 20px; width: 20px; b { font-style: italic; } } `, }, { description: '21', code: ` a { height: 20px; width: 20px; b { font-style: italic; } } `, }, ], reject: [ { description: '22', code: ` a { height: 20px; width: 20px; font-style: italic; } `, fixed: ` a { height: 20px; width: 20px; font-style: italic; } `, message: messages.rejectedEmptyLineBefore('font-style'), }, { description: '23', code: ` a { height: 20px; width: 20px; font-style: italic; } `, fixed: ` a { height: 20px; width: 20px; font-style: italic; } `, message: messages.rejectedEmptyLineBefore('font-style'), }, { description: '24', code: ` a { height: 20px; font-style: italic; } `, fixed: ` a { height: 20px; font-style: italic; } `, message: messages.rejectedEmptyLineBefore('font-style'), }, ], });