stylelint-tape stylelint
NPM Version Build Status Support Chat
stylelint-tape lets you test stylelint plugins.
Add stylelint-tape to your project:
npm install stylelint-tape --save-dev
Add a .tape.js file with tests:
module.exports = { 'your/rule': [ // test the # of warnings { source: 'body { top: 0 }', warnings: 1 }, // test for specific warnings { source: 'body { top: 0; left: 0 }', warnings: [ 'Unexpected "top" property.', 'Unexpected "left" property.' ] }, // test with arguments { source: 'body { top: 0 }', args: "always", warnings: 1 }, { source: 'body { top: 0 }', args: [ "always", { except: "top" } ] }, // test autofixes { source: 'body { top: 0 }', expect: 'body { inset-block-start: 0 }' } ] }
Use stylelint-tape in package.json to test your plugin:
{
"scripts": {
"test:plugin": "stylelint-tape"
}
}npm run test:plugin
Or, use it within Node.
const stylelintTape = require('stylelint-tape'); const plugin = require('path/to/plugin'); stylelintTape({ plugin: 'path/to/plugin.js' }, { 'your/rule': [ { source: 'body { top: 0 }', warnings: 1 } ] }).then( () => console.log('tests passed'), error => console.error('tests failed', error) );