diff --git a/src/xpath/lib b/src/xpath/lib index a567fbf..3dff86f 160000 --- a/src/xpath/lib +++ b/src/xpath/lib @@ -1 +1 @@ -Subproject commit a567fbf1d84071821de455ec442453790a90ea33 +Subproject commit 3dff86fa9190498f07ffed8c075b8ee5b7f4c29e diff --git a/tests/xslt/call-template.test.ts b/tests/xslt/call-template.test.ts new file mode 100644 index 0000000..17f094f --- /dev/null +++ b/tests/xslt/call-template.test.ts @@ -0,0 +1,49 @@ +import { Xslt, XmlParser } from '../../src/index'; + +describe('xsl:call-template', () => { + let xslt: Xslt; + let xmlParser: XmlParser; + + beforeEach(() => { + xslt = new Xslt(); + xmlParser = new XmlParser(); + }); + + // https://github.com/DesignLiquido/xslt-processor/issues/217 + it('supports recursion, using a variable to hold the result of a nested call-template', async () => { + const xml = xmlParser.xmlParse(''); + const stylesheet = xmlParser.xmlParse(` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +`); + const result = await xslt.xsltProcess(xml, stylesheet); + expect(result).toBe(''); + }); +});