Skip to content

Commit 74b03c0

Browse files
committed
Fix support for template elements
Closes syntax-tree/hast-util-from-parse5#11. Closes syntax-tree/hast-util-from-parse5#12.
1 parent 1dd2f18 commit 74b03c0

File tree

2 files changed

+23
-3
lines changed

2 files changed

+23
-3
lines changed

index.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,9 @@ function wrap(tree, file) {
176176

177177
function raw(node) {
178178
var start = pos.start(node)
179+
var line = start.line || 1
180+
var column = start.column || 1
181+
var offset = start.offset || 0
179182
var token
180183

181184
// Reset preprocessor:
@@ -189,11 +192,11 @@ function wrap(tree, file) {
189192
// Reset preprocessor mixin:
190193
// See: <https://github.com/inikulin/parse5/blob/0491902/packages/parse5/lib/extensions/position-tracking/preprocessor-mixin.js>.
191194
posTracker.droppedBufferSize = 0
192-
posTracker.line = start.line
195+
posTracker.line = line
193196
posTracker.col = 1
194197
posTracker.offset = 0
195-
posTracker.lineStartPos = -start.column + 1
196-
posTracker.droppedBufferSize = start.offset
198+
posTracker.lineStartPos = -column + 1
199+
posTracker.droppedBufferSize = offset
197200

198201
// Reset location tracker:
199202
// See: <https://github.com/inikulin/parse5/blob/0491902/packages/parse5/lib/extensions/location-info/tokenizer-mixin.js>.

test.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,23 @@ test('raw', function (t) {
150150
'should pass raw nodes through even after textarea (#3)'
151151
)
152152

153+
t.deepEqual(
154+
raw(u('root', [u('raw', '<template>a<b></b>c</template>')])),
155+
u('root', {data: {quirksMode: false}}, [
156+
u('element', {
157+
tagName: 'template',
158+
properties: {},
159+
children: [],
160+
content: u('root', {data: {quirksMode: false}}, [
161+
u('text', 'a'),
162+
h('b'),
163+
u('text', 'c')
164+
])
165+
})
166+
]),
167+
'should support template nodes'
168+
)
169+
153170
t.deepEqual(
154171
raw(u('root', [u('raw', '<script>alert(1)</script>')])),
155172
u('root', {data: {quirksMode: false}}, [

0 commit comments

Comments
 (0)