tailwindcss-plugin-jest-exa.../test.js

58 lines
1.2 KiB
JavaScript

const _ = require('lodash')
const cssMatcher = require('jest-matcher-css')
const defaultConfig = require('tailwindcss/defaultConfig')
const plugin = require('./index.js')
const postcss = require('postcss')
const tailwindcss = require('tailwindcss')
const disableCorePlugins = () => {
return _.mapValues(defaultConfig.variants, () => false)
}
const generatePluginCss = (options = {}) => {
return postcss(
tailwindcss({
corePlugins: disableCorePlugins(),
plugins: [plugin(options)]
})
)
.process('@tailwind utilities;', {
from: undefined
})
.then(result => {
return result.css
})
}
expect.extend({
toMatchCss: cssMatcher
})
test('it generates the correct classes with no variants', () => {
return generatePluginCss().then(css => {
expect(css).toMatchCss(`
.test {
display: block;
}
`)
})
})
test('it generates the correct classes with variants', () => {
return generatePluginCss({ variants: ['hover', 'focus'] }).then(css => {
expect(css).toMatchCss(`
.test {
display: block;
}
.hover\\:test:hover {
display: block;
}
.focus\\:test:focus {
display: block;
}
`)
})
})