Fixes #204 - preserve whitespace for script, textarea and pre

This commit is contained in:
Patrick Steele-Idem 2016-01-14 10:13:47 -07:00
parent bb89e627b0
commit e218cf876c
19 changed files with 83 additions and 20 deletions

View File

@ -70,6 +70,11 @@ class Text extends Node {
return;
}
var parentNode = this.parentNode;
if (parentNode && parentNode.tagDef && parentNode.tagDef.preserveWhitespace) {
return;
}
var container = this.container;
if (!container) {
return;

View File

@ -23,10 +23,19 @@
"<macro-body>": {
"code-generator": "./macro-body-tag"
},
"<pre>": {
"preserve-whitespace": true
},
"<script>": {
"preserve-whitespace": true
},
"<template-init>": {
"code-generator": "./template-init-tag",
"body": "static-text"
},
"<textarea>": {
"preserve-whitespace": true
},
"<unless>": {
"node-factory": "./unless-tag"
},

View File

@ -1,5 +0,0 @@
<html><head><title>Optimizer: Server Includes</title></head><body>Hello World! <script>
$(function() {
alert('test');
})
</script></body></html>

View File

@ -1,15 +0,0 @@
<var name="name" value="data.name"/>
<html>
<head>
<title>Optimizer: Server Includes</title>
</head>
<body>
Hello $name!
<script>
$(function() {
alert('test');
})
</script>
</body>
</html>

View File

@ -0,0 +1,6 @@
<html><head><title>Inline Script</title></head><body>Hello name! <script type="text/javascript">
<div if(foo)></div>
$(function() {
alert('World');
})
</script></body></html>

View File

@ -0,0 +1,17 @@
<var name="name" value="data.name"/>
<html>
<head>
<title>Inline Script</title>
</head>
<body>
Hello ${name}!
<script type="text/javascript">
<div if(foo)></div>
$(function() {
alert('${data.name}');
})
</script>
</body>
</html>

View File

@ -0,0 +1,4 @@
<pre>
Hello
World
</pre>

View File

@ -0,0 +1,4 @@
<pre>
Hello
World
</pre>

View File

@ -0,0 +1,3 @@
exports.templateData = {
"name": "World"
};

View File

@ -0,0 +1,5 @@
<script>
$(function() {
alert('test');
})
</script>

View File

@ -0,0 +1,5 @@
<script>
$(function() {
alert('test');
})
</script>

View File

@ -0,0 +1,3 @@
exports.templateData = {
"name": "World"
};

View File

@ -0,0 +1,4 @@
<TEXTAREA>
Hello
World
</TEXTAREA>

View File

@ -0,0 +1,4 @@
<TEXTAREA>
Hello
World
</TEXTAREA>

View File

@ -0,0 +1,3 @@
exports.templateData = {
"name": "World"
};

View File

@ -0,0 +1,4 @@
<textarea>
Hello
World
</textarea>

View File

@ -0,0 +1,4 @@
<textarea>
Hello
World
</textarea>

View File

@ -0,0 +1,3 @@
exports.templateData = {
"name": "World"
};