Test that setting a plugin to false in corePlugins disables it

This commit is contained in:
Adam Wathan 2019-02-05 10:32:04 -05:00
parent d165661da4
commit ed20e59ba1
2 changed files with 42 additions and 0 deletions

View File

@ -0,0 +1,35 @@
import configurePlugins from '../src/util/configurePlugins'
test('setting a plugin to false removes it', () => {
const plugins = {
fontSize: (options) => {
return {
plugin: 'fontSize',
options,
}
},
display: (options) => {
return {
plugin: 'display',
options,
}
},
backgroundPosition: (options) => {
return {
plugin: 'backgroundPosition',
options,
}
},
}
const configuredPlugins = configurePlugins(plugins, {
fontSize: {},
display: false,
backgroundPosition: {},
})
expect(configuredPlugins).toEqual([
{ plugin: 'fontSize', options: {} },
{ plugin: 'backgroundPosition', options: {} },
])
})

View File

@ -0,0 +1,7 @@
export default function(plugins, pluginConfig) {
return Object.keys(plugins).filter(pluginName => {
return pluginConfig[pluginName] !== false
}).map(pluginName => {
return plugins[pluginName](pluginConfig[pluginName])
})
}