UTest({ 'should transform css and html using block-css' () { var css = ` .foo { color: red } .foo .item { background: green;} `; var awaitCss = ` .MyID { color: red } .MyID__item { background: green;} `; var html = `
`; var awaitHtml = `
`; var { template, css } = AutoBem.transform(html, css, { scopeId: 'MyID' }); eq_(template, awaitHtml); eq_(css, awaitCss); }, 'should transform css and html using host-css' () { var css = ` :host { color: red } :host(.active) { color: green } .item { background: red } :host(.active) .item { background: green;} `; var awaitCss = ` .MyID { color: red } .MyID.active { color: green } .MyID__item { background: red } .MyID.active .MyID__item { background: green;} `; var html = `
Hello
`; var awaitHtml = `
Hello
`; var { template, css } = AutoBem.transform(html, css, { scopeId: 'MyID' }); eq_(template, awaitHtml); eq_(css, awaitCss); }, 'should match descendants of an element' () { var css = ` .container ul .item { background: green; } `; var awaitCss = ` .MyID__tag_ul__item { background: green; } `; var html = `
Hello
`; var awaitHtml = `
Hello
`; var { template, css } = AutoBem.transform(html, css, { scopeId: 'MyID' }); eq_(template.trim(), awaitHtml.trim()); eq_(css.trim(), awaitCss.trim()); }, 'should match children of an element' () { var css = ` .container .foo > .item { background: green; } `; var awaitCss = ` .MyID__foo__child__item { background: green; } `; var html = `
Hello
`; var awaitHtml = `
Hello
`; var { template, css } = AutoBem.transform(html, css, { scopeId: 'MyID' }); eq_(template.trim(), awaitHtml.trim()); eq_(css.trim(), awaitCss.trim()); }, 'should not match any element' () { var css = ` .myBlock .foo { background: green; } `; var awaitCss = ` .MyID__foo { background: green; } `; var html = `
`; var awaitHtml = `
`; var reporter = sinon.spy(); var { template, css } = AutoBem.transform(html, css, { scopeId: 'MyID', reporter: reporter }); eq_(template.trim(), awaitHtml.trim()); eq_(css.trim(), awaitCss.trim()); eq_(reporter.callCount, 1); } })