From a52bd8a785a59d606270e4b966508a9ea93deb92 Mon Sep 17 00:00:00 2001 From: Vasiliy Loginevskiy Date: Wed, 19 Apr 2017 15:53:34 +0300 Subject: [PATCH] Add tests to stylePropToObj plugin --- lib/plugins.js | 7 +++++-- test/plugins.js | 24 ++++++++++++++++++++---- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/lib/plugins.js b/lib/plugins.js index 8f5a6deb..04bae475 100644 --- a/lib/plugins.js +++ b/lib/plugins.js @@ -17,8 +17,11 @@ module.exports.defaultPlugins = [ }); }, function stylePropToObj(jsx) { - jsx.props['style'] && - (jsx.props['attrs']['style'] = jsx.props['style'] = styleToObj(jsx.props['style'])); + if (jsx.props['style']) { + jsx.props['style'] = styleToObj(jsx.props['style']) + jsx.props['attrs'] && + (jsx.props['attrs']['style'] = jsx.props['style']); + } } ]; diff --git a/test/plugins.js b/test/plugins.js index 9c707112..ff7465bd 100644 --- a/test/plugins.js +++ b/test/plugins.js @@ -1,16 +1,14 @@ const expect = require('chai').expect; var T = require('../lib'); -var transformer = T(); var BemEntity = require('@bem/entity-name'); -// var transform = transformer.process.bind(transformer); describe('pluginis', () => { describe('whiteList', () => { it('without opts', () => { - var res = transformer + var res = T() .use(T.plugins.whiteList()) .process({ block: 'button2' }); @@ -20,7 +18,7 @@ describe('pluginis', () => { }); it('whiteList', () => { - var res = transformer + var res = T() .use(T.plugins.whiteList({ entities: [{ block: 'button2' }].map(BemEntity.create) })) .process({ block: 'button2', content: [{ block: 'menu' }, { block: 'selec' }] }); @@ -30,4 +28,22 @@ describe('pluginis', () => { }); }); + describe('stylePropToObj', () => { + it('styleProp to obj', () => { + var res = T().process({ block: 'button2', style: 'width:200px' }); + + expect(res.JSX).to.equal( + `` + ); + }); + + it('attrs style to obj', () => { + var res = T().process({ block: 'button2', attrs: { style: 'width:200px' } }); + + expect(res.JSX).to.equal( + `` + ); + }); + }); + });