? ParseMode.SFC
: ParseMode.BASE
+ tokenizer.inXML =
+ currentOptions.ns === Namespaces.SVG ||
+ currentOptions.ns === Namespaces.MATH_ML
+
const delimiters = options?.delimiters
if (delimiters) {
tokenizer.delimiterOpen = toCharCodes(delimiters[0])
expect(elementForieng.ns).toBe(Namespaces.SVG)
expect(element.ns).toBe(Namespaces.HTML)
})
+
+ test('correct XML handling with root ns', () => {
+ // when root ns is an XML namespace, there should be no special content
+ // treatment for <script>, <style>, <textarea> etc.
+ const ast = parse('<script><g/><g/></script>', {
+ ...parserOptions,
+ ns: Namespaces.SVG
+ })
+ const elementSvg = ast.children[0] as ElementNode
+ // should parse as nodes instead of text
+ expect(elementSvg.children).toMatchObject([
+ { type: NodeTypes.ELEMENT, tag: 'g' },
+ { type: NodeTypes.ELEMENT, tag: 'g' }
+ ])
+ })
})
})