fix(runtime-dom): consistently remove boolean attributes for falsy values (#4348)
This commit is contained in:
@@ -23,6 +23,18 @@ describe('runtime-dom: attrs patching', () => {
|
||||
expect(el.getAttribute('readonly')).toBe('')
|
||||
patchProp(el, 'readonly', true, false)
|
||||
expect(el.getAttribute('readonly')).toBe(null)
|
||||
patchProp(el, 'readonly', false, '')
|
||||
expect(el.getAttribute('readonly')).toBe('')
|
||||
patchProp(el, 'readonly', '', 0)
|
||||
expect(el.getAttribute('readonly')).toBe(null)
|
||||
patchProp(el, 'readonly', 0, '0')
|
||||
expect(el.getAttribute('readonly')).toBe('')
|
||||
patchProp(el, 'readonly', '0', false)
|
||||
expect(el.getAttribute('readonly')).toBe(null)
|
||||
patchProp(el, 'readonly', false, 1)
|
||||
expect(el.getAttribute('readonly')).toBe('')
|
||||
patchProp(el, 'readonly', 1, undefined)
|
||||
expect(el.getAttribute('readonly')).toBe(null)
|
||||
})
|
||||
|
||||
test('attributes', () => {
|
||||
|
||||
@@ -43,6 +43,18 @@ describe('runtime-dom: props patching', () => {
|
||||
expect(el.multiple).toBe(true)
|
||||
patchProp(el, 'multiple', null, null)
|
||||
expect(el.multiple).toBe(false)
|
||||
patchProp(el, 'multiple', null, true)
|
||||
expect(el.multiple).toBe(true)
|
||||
patchProp(el, 'multiple', null, 0)
|
||||
expect(el.multiple).toBe(false)
|
||||
patchProp(el, 'multiple', null, '0')
|
||||
expect(el.multiple).toBe(true)
|
||||
patchProp(el, 'multiple', null, false)
|
||||
expect(el.multiple).toBe(false)
|
||||
patchProp(el, 'multiple', null, 1)
|
||||
expect(el.multiple).toBe(true)
|
||||
patchProp(el, 'multiple', null, undefined)
|
||||
expect(el.multiple).toBe(false)
|
||||
})
|
||||
|
||||
test('innerHTML unmount prev children', () => {
|
||||
|
||||
Reference in New Issue
Block a user