do not merge empty class on component placeholder (fix #2789)

This commit is contained in:
Evan You 2016-05-04 13:17:47 -04:00
parent 8879c82296
commit b5c1bf604d
2 changed files with 12 additions and 2 deletions

View File

@ -151,8 +151,8 @@ function mergeAttrs (from, to) {
value = attrs[i].value
if (!to.hasAttribute(name) && !specialCharRE.test(name)) {
to.setAttribute(name, value)
} else if (name === 'class' && !parseText(value)) {
value.trim().split(/\s+/).forEach(function (cls) {
} else if (name === 'class' && !parseText(value) && (value = value.trim())) {
value.split(/\s+/).forEach(function (cls) {
addClass(to, cls)
})
}

View File

@ -119,6 +119,16 @@ describe('Transclude', function () {
expect(res.getAttribute('title')).toBe('child')
})
// #2789
it('empty class merge', () => {
el.setAttribute('class', '')
options.template = '<div class="test"></div>'
options.replace = true
options._asComponent = true
var res = transclude(el, options)
expect(res.getAttribute('class')).toBe('test')
})
it('class merge for svg elements', function () {
el.setAttribute('class', 'test')
options.template = '<circle class="other"></circle>'