aliaset
Version:
twind monorepo
93 lines (73 loc) • 2.15 kB
text/typescript
import { assert, test } from 'vitest'
import { twind, virtual } from '..'
test('should be possible to use the darkMode "class" mode', () => {
const tw = twind(
{
darkMode: 'class',
rules: [['font-', 'fontWeight']],
},
virtual(),
)
assert.strictEqual(tw('dark:font-700'), 'dark:font-700')
assert.deepEqual(tw.target, ['.dark .dark\\:font-700{font-weight:700}'])
})
test('should be possible to change the class name', () => {
const tw = twind(
{
darkMode: ['class', '.test-dark'],
rules: [['font-', 'fontWeight']],
},
virtual(),
)
assert.strictEqual(tw('dark:font-700'), 'dark:font-700')
assert.deepEqual(tw.target, ['.test-dark .dark\\:font-700{font-weight:700}'])
})
test('should be possible to use any selector', () => {
const tw = twind(
{
darkMode: '[theme=dark] &',
rules: [['font-', 'fontWeight']],
},
virtual(),
)
assert.strictEqual(tw('dark:font-700'), 'dark:font-700')
assert.deepEqual(tw.target, ['[theme=dark] .dark\\:font-700{font-weight:700}'])
})
test('should be possible to use the darkMode "media" mode', () => {
const tw = twind(
{
darkMode: 'media',
rules: [['font-', 'fontWeight']],
},
virtual(),
)
assert.strictEqual(tw('dark:font-700'), 'dark:font-700')
assert.deepEqual(tw.target, [
'@media (prefers-color-scheme:dark){.dark\\:font-700{font-weight:700}}',
])
})
test('should default to the `media` mode when no mode is provided', () => {
const tw = twind(
{
rules: [['font-', 'fontWeight']],
},
virtual(),
)
assert.strictEqual(tw('dark:font-700'), 'dark:font-700')
assert.deepEqual(tw.target, [
'@media (prefers-color-scheme:dark){.dark\\:font-700{font-weight:700}}',
])
})
test('should default to the `media` mode when mode is set to `false`', () => {
const tw = twind(
{
darkMode: false,
rules: [['font-', 'fontWeight']],
},
virtual(),
)
assert.strictEqual(tw('dark:font-700'), 'dark:font-700')
assert.deepEqual(tw.target, [
'@media (prefers-color-scheme:dark){.dark\\:font-700{font-weight:700}}',
])
})