import postcss from 'postcss' import path from 'path' import tailwind from '../../src' function run(input, config = {}) { return postcss(tailwind(config)).process(input, { from: path.resolve(__filename), }) } function css(templates) { return templates.join('') } function html(templates) { return templates.join('') } it('should be possible to use the darkMode "class" mode', () => { let config = { darkMode: 'class', content: [{ raw: html`
` }], corePlugins: { preflight: false }, theme: {}, plugins: [], } let input = css` @tailwind base; @tailwind components; @tailwind utilities; ` return run(input, config).then((result) => { expect(result.css).toMatchFormattedCss(css` .dark .dark\\:font-bold { font-weight: 700; } `) }) }) it('should be possible to use the darkMode "media" mode', () => { let config = { darkMode: 'media', content: [{ raw: html`` }], corePlugins: { preflight: false }, theme: {}, plugins: [], } let input = css` @tailwind base; @tailwind components; @tailwind utilities; ` return run(input, config).then((result) => { expect(result.css).toMatchFormattedCss(css` @media (prefers-color-scheme: dark) { .dark\\:font-bold { font-weight: 700; } } `) }) }) it('should default to the `media` mode when no mode is provided', () => { let config = { content: [{ raw: html`` }], corePlugins: { preflight: false }, theme: {}, plugins: [], } let input = css` @tailwind base; @tailwind components; @tailwind utilities; ` return run(input, config).then((result) => { expect(result.css).toMatchFormattedCss(css` @media (prefers-color-scheme: dark) { .dark\\:font-bold { font-weight: 700; } } `) }) }) it('should default to the `media` mode when mode is set to `false`', () => { let config = { darkMode: false, content: [{ raw: html`` }], corePlugins: { preflight: false }, theme: {}, plugins: [], } let input = css` @tailwind base; @tailwind components; @tailwind utilities; ` return run(input, config).then((result) => { expect(result.css).toMatchFormattedCss(css` @media (prefers-color-scheme: dark) { .dark\\:font-bold { font-weight: 700; } } `) }) })