`<!--comment--><span></span><div>two</div><!--comment--><span></span><div>one</div>`
)
})
+
+ // #6852
+ test('`template` keyed fragment w/ text', () => {
+ const root = nodeOps.createElement('div')
+
+ const renderFn = (items: string[]) => {
+ return (
+ openBlock(true),
+ createBlock(
+ Fragment,
+ null,
+ renderList(items, item => {
+ return (
+ openBlock(),
+ createBlock(
+ Fragment,
+ { key: item },
+ [
+ createTextVNode('text'),
+ createVNode('div', null, item, PatchFlags.TEXT)
+ ],
+ PatchFlags.STABLE_FRAGMENT
+ )
+ )
+ }),
+ PatchFlags.KEYED_FRAGMENT
+ )
+ )
+ }
+
+ render(renderFn(['one', 'two']), root)
+ expect(serializeInner(root)).toBe(`text<div>one</div>text<div>two</div>`)
+
+ render(renderFn(['two', 'one']), root)
+ expect(serializeInner(root)).toBe(`text<div>two</div>text<div>one</div>`)
+ })
})
}
if (!shallow) traverseStaticChildren(c1, c2)
}
+ // #6852 also inherit for text nodes
+ if (c2.type === Text) {
+ c2.el = c1.el
+ }
// also inherit for comment nodes, but not placeholders (e.g. v-if which
// would have received .el during block patch)
if (__DEV__ && c2.type === Comment && !c2.el) {