render(h(Comp, { foo: null }), root)
}).not.toThrow()
})
+
+ // #5016
+ test('handling attr with undefined value', () => {
+ const Comp = {
+ render(this: any) {
+ return JSON.stringify(this.$attrs) + Object.keys(this.$attrs)
+ }
+ }
+ const root = nodeOps.createElement('div')
+
+ let attrs: any = { foo: undefined }
+
+ render(h(Comp, attrs), root)
+ expect(serializeInner(root)).toBe(
+ JSON.stringify(attrs) + Object.keys(attrs)
+ )
+
+ render(h(Comp, (attrs = { foo: 'bar' })), root)
+ expect(serializeInner(root)).toBe(
+ JSON.stringify(attrs) + Object.keys(attrs)
+ )
+ })
})