UNPKG

html-flavors

Version:
55 lines (44 loc) 1.47 kB
var test = require('tape'); var flavor = require('..'); var parseHtml = flavor.parseHtml; var mocks = { html: '<div class="comp"><span class="foo">whatever</span>some text<b></b></div>' }; test('should parse html', function (t) { var tree = parseHtml(mocks.html); var el = tree.children[0]; t.deepEqual(el.classes, ['comp']); t.deepEqual(el.children.length, 3); var expectedList = [ {type: 'element', tag: 'span', classes: ['foo']}, {type: 'text', text: 'some text'}, {type: 'element', tag:'b'} ]; expectedList.forEach(function(expected, i) { var checked = el.children[i]; for (var prop in expected) { if (expected.hasOwnProperty(prop)) { t.deepEqual(checked[prop], expected[prop]); } } }); t.end(); }); var stringifyReactComponent = flavor.stringifyReactComponent; test('should stringify react component', function (t) { var tree = { type: 'element', tag: 'section', classes: ['content big'], children: [ {type: 'text', text: 'kotek'}, {type: 'element', tag: 'span', classes: ['row']} ] } var expected = 'function Merged (props) {\n' + ' return (<section className="content big">kotek<span className="row"></span></section>);\n' + '}'; var result = stringifyReactComponent(tree); t.equal(result, expected); t.end(); });