Files
menui_backend/node_modules/jss-plugin-rule-value-function/src/plugin-expand.test.js
2020-07-15 19:54:48 +02:00

112 lines
2.4 KiB
JavaScript

import expect from 'expect.js'
import {stripIndent} from 'common-tags'
import {create} from 'jss'
import pluginExpand from '../../jss-plugin-expand'
import pluginFunction from '.'
const settings = {createGenerateId: () => rule => `${rule.key}-id`}
describe('jss-plugin-rule-value-function: plugin-expand', () => {
let jss
beforeEach(() => {
jss = create(settings).use(pluginFunction(), pluginExpand())
})
describe('expanding in fn values', () => {
let sheet
beforeEach(() => {
sheet = jss
.createStyleSheet(
{
a: {
border: props => ({
top: props.border,
bottom: props.border
})
}
},
{link: true}
)
.attach()
})
afterEach(() => {
sheet.detach()
})
it.skip('should return correct .toString()', () => {
sheet.update({border: '1px'})
expect(sheet.toString()).to.be(stripIndent`
.a-id {
border-top: 1px;
border-bottom: 1px;
}
`)
})
it.skip('should handle when updating multiple times', () => {
sheet.update({border: '1px'})
expect(sheet.toString()).to.be(stripIndent`
.a-id {
border-top: 1px;
border-bottom: 1px;
}
`)
sheet.update({border: '5px'})
expect(sheet.toString()).to.be(stripIndent`
.a-id {
border-top: 5px;
border-bottom: 5px;
}
`)
})
})
describe('expanding in fn rules', () => {
let sheet
beforeEach(() => {
sheet = jss
.createStyleSheet(
{
a: props => ({border: {color: props.color}})
},
{link: true}
)
.attach()
})
afterEach(() => {
sheet.detach()
})
it('should return correct .toString()', () => {
sheet.update({color: 'red'})
expect(sheet.toString()).to.be(stripIndent`
.a-id {
border-color: red;
}
`)
})
it('should handle updating multiple times', () => {
sheet.update({color: 'red'})
expect(sheet.toString()).to.be(stripIndent`
.a-id {
border-color: red;
}
`)
sheet.update({color: 'blue'})
expect(sheet.toString()).to.be(stripIndent`
.a-id {
border-color: blue;
}
`)
})
})
})