diff --git a/packages/runtime-test/__tests__/testRuntime.spec.ts b/packages/runtime-test/__tests__/testRuntime.spec.ts
index ce98d4d5..ec7cbb21 100644
--- a/packages/runtime-test/__tests__/testRuntime.spec.ts
+++ b/packages/runtime-test/__tests__/testRuntime.spec.ts
@@ -126,7 +126,8 @@ describe('test renderer', () => {
return h(
'div',
{
- id: 'test'
+ id: 'test',
+ boolean: ''
},
[h('span', 'foo'), 'hello']
)
@@ -135,12 +136,12 @@ describe('test renderer', () => {
const root = nodeOps.createElement('div')
render(h(App), root)
expect(serialize(root)).toEqual(
- `
`
+ ``
)
// indented output
expect(serialize(root, 2)).toEqual(
`
-
+
foo
diff --git a/packages/runtime-test/src/serialize.ts b/packages/runtime-test/src/serialize.ts
index 57a3e7a5..52c79b7d 100644
--- a/packages/runtime-test/src/serialize.ts
+++ b/packages/runtime-test/src/serialize.ts
@@ -40,7 +40,11 @@ function serializeElement(
const props = Object.keys(node.props)
.map(key => {
const value = node.props[key]
- return isOn(key) || value == null ? `` : `${key}=${JSON.stringify(value)}`
+ return isOn(key) || value == null
+ ? ``
+ : value === ``
+ ? key
+ : `${key}=${JSON.stringify(value)}`
})
.filter(Boolean)
.join(' ')