From 65112181e7633f213c87b357f7d5e7a4dc688dd6 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Sun, 5 Aug 2018 16:06:54 -0400 Subject: [PATCH] preserve whitespace inside lists --- src/compile/nodes/Text.ts | 4 ---- .../samples/whitespace-list/_config.js | 22 +++++++++++++++++++ .../runtime/samples/whitespace-list/main.html | 5 +++++ 3 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 test/runtime/samples/whitespace-list/_config.js create mode 100644 test/runtime/samples/whitespace-list/main.html diff --git a/src/compile/nodes/Text.ts b/src/compile/nodes/Text.ts index cda63ee5f3..bba5b2848b 100644 --- a/src/compile/nodes/Text.ts +++ b/src/compile/nodes/Text.ts @@ -9,10 +9,8 @@ const elementsWithoutText = new Set([ 'audio', 'datalist', 'dl', - 'ol', 'optgroup', 'select', - 'ul', 'video', ]); @@ -39,8 +37,6 @@ export default class Text extends Node { } init(block: Block) { - const parentElement = this.findNearest(/(?:Element|Component)/); - if (shouldSkip(this)) { this.shouldSkip = true; return; diff --git a/test/runtime/samples/whitespace-list/_config.js b/test/runtime/samples/whitespace-list/_config.js new file mode 100644 index 0000000000..fd58453e51 --- /dev/null +++ b/test/runtime/samples/whitespace-list/_config.js @@ -0,0 +1,22 @@ +export default { + data: { + // so it doesn't use innerHTML + one: 'one', + two: 'two', + three: 'three' + }, + + html: ` + + `, + + test(assert, component, target) { + const ul = target.querySelector('ul'); + + assert.equal(ul.childNodes.length, 5); + }, +}; diff --git a/test/runtime/samples/whitespace-list/main.html b/test/runtime/samples/whitespace-list/main.html new file mode 100644 index 0000000000..c66f7344e5 --- /dev/null +++ b/test/runtime/samples/whitespace-list/main.html @@ -0,0 +1,5 @@ + \ No newline at end of file