Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / fast / xsl / xslt-line-breaks.html
blob63fed7eb44e967b827b8a665786e79ea5e10e94b
1 <!DOCTYPE html>
2 <script src="../../resources/js-test.js"></script>
3 <script>
4 description("Must not crash, and transforms to 'data 1breakdata 2'. Test for http://crbug.com/530587.");
6 var parser = new DOMParser();
7 var doc = parser.parseFromString('<?xml version="1.0" encoding="UTF-8"?><root><parameter name="DICTIONARY">data 1\ndata 2</parameter></root>', 'text/xml');
8 var xslt = parser.parseFromString('<?xml version="1.0" encoding="utf-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="text" indent="no" omit-xml-declaration="yes" encoding="utf-8"/><xsl:template match="/"><xsl:apply-templates select="root/*"/></xsl:template><xsl:template match="node()"><xsl:call-template name="Replace"><xsl:with-param name="text" select="."/></xsl:call-template></xsl:template><xsl:template name="Replace"><xsl:param name="text"/><xsl:choose><xsl:when test="contains($text, $linebreak)"><xsl:value-of select="substring-before($text, $linebreak)"/><xsl:text>break</xsl:text><xsl:call-template name="Replace"><xsl:with-param name="text" select="substring-after($text, $linebreak)"/></xsl:call-template></xsl:when><xsl:otherwise><xsl:value-of select="$text"/></xsl:otherwise></xsl:choose></xsl:template><xsl:variable name="linebreak" xml:space="preserve">\n</xsl:variable></xsl:stylesheet>', 'text/xml');
9 var processor = new XSLTProcessor();
10 processor.importStylesheet(xslt);
12 shouldBe('processor.transformToFragment(doc, document).textContent', '"data 1breakdata 2"');
13 </script>