diff --git a/compiler/ast/Text.js b/compiler/ast/Text.js index 61f88fb87..7375c0951 100644 --- a/compiler/ast/Text.js +++ b/compiler/ast/Text.js @@ -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; diff --git a/taglibs/core/marko-taglib.json b/taglibs/core/marko-taglib.json index b04256eaf..db85b8ee3 100644 --- a/taglibs/core/marko-taglib.json +++ b/taglibs/core/marko-taglib.json @@ -23,10 +23,19 @@ "": { "code-generator": "./macro-body-tag" }, + "
": {
+        "preserve-whitespace": true
+    },
+    "
\ No newline at end of file
diff --git a/test/fixtures/render/autotest-pending/inline-script/template.marko b/test/fixtures/render/autotest-pending/inline-script/template.marko
deleted file mode 100644
index c00080866..000000000
--- a/test/fixtures/render/autotest-pending/inline-script/template.marko
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-    
-        Optimizer: Server Includes
-    
-    
-        Hello $name!
-        
-    
-
\ No newline at end of file
diff --git a/test/fixtures/render/autotest/inline-script/expected.html b/test/fixtures/render/autotest/inline-script/expected.html
new file mode 100644
index 000000000..269731f51
--- /dev/null
+++ b/test/fixtures/render/autotest/inline-script/expected.html
@@ -0,0 +1,6 @@
+Inline ScriptHello name! 
\ No newline at end of file
diff --git a/test/fixtures/render/autotest/inline-script/template.marko b/test/fixtures/render/autotest/inline-script/template.marko
new file mode 100644
index 000000000..e7262c86c
--- /dev/null
+++ b/test/fixtures/render/autotest/inline-script/template.marko
@@ -0,0 +1,17 @@
+
+
+
+    
+        Inline Script
+    
+    
+        Hello ${name}!
+
+        
+    
+
\ No newline at end of file
diff --git a/test/fixtures/render/autotest-pending/inline-script/test.js b/test/fixtures/render/autotest/inline-script/test.js
similarity index 100%
rename from test/fixtures/render/autotest-pending/inline-script/test.js
rename to test/fixtures/render/autotest/inline-script/test.js
diff --git a/test/fixtures/render/autotest/whitespace-pre/expected.html b/test/fixtures/render/autotest/whitespace-pre/expected.html
new file mode 100644
index 000000000..065cc56d8
--- /dev/null
+++ b/test/fixtures/render/autotest/whitespace-pre/expected.html
@@ -0,0 +1,4 @@
+
+Hello
+  World
+
\ No newline at end of file diff --git a/test/fixtures/render/autotest/whitespace-pre/template.marko b/test/fixtures/render/autotest/whitespace-pre/template.marko new file mode 100644 index 000000000..065cc56d8 --- /dev/null +++ b/test/fixtures/render/autotest/whitespace-pre/template.marko @@ -0,0 +1,4 @@ +
+Hello
+  World
+
\ No newline at end of file diff --git a/test/fixtures/render/autotest/whitespace-pre/test.js b/test/fixtures/render/autotest/whitespace-pre/test.js new file mode 100644 index 000000000..27e834445 --- /dev/null +++ b/test/fixtures/render/autotest/whitespace-pre/test.js @@ -0,0 +1,3 @@ +exports.templateData = { + "name": "World" +}; diff --git a/test/fixtures/render/autotest/whitespace-script/expected.html b/test/fixtures/render/autotest/whitespace-script/expected.html new file mode 100644 index 000000000..d875c087b --- /dev/null +++ b/test/fixtures/render/autotest/whitespace-script/expected.html @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/test/fixtures/render/autotest/whitespace-script/template.marko b/test/fixtures/render/autotest/whitespace-script/template.marko new file mode 100644 index 000000000..d875c087b --- /dev/null +++ b/test/fixtures/render/autotest/whitespace-script/template.marko @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/test/fixtures/render/autotest/whitespace-script/test.js b/test/fixtures/render/autotest/whitespace-script/test.js new file mode 100644 index 000000000..27e834445 --- /dev/null +++ b/test/fixtures/render/autotest/whitespace-script/test.js @@ -0,0 +1,3 @@ +exports.templateData = { + "name": "World" +}; diff --git a/test/fixtures/render/autotest/whitespace-textarea-capitalized/expected.html b/test/fixtures/render/autotest/whitespace-textarea-capitalized/expected.html new file mode 100644 index 000000000..59e418966 --- /dev/null +++ b/test/fixtures/render/autotest/whitespace-textarea-capitalized/expected.html @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/test/fixtures/render/autotest/whitespace-textarea-capitalized/template.marko b/test/fixtures/render/autotest/whitespace-textarea-capitalized/template.marko new file mode 100644 index 000000000..59e418966 --- /dev/null +++ b/test/fixtures/render/autotest/whitespace-textarea-capitalized/template.marko @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/test/fixtures/render/autotest/whitespace-textarea-capitalized/test.js b/test/fixtures/render/autotest/whitespace-textarea-capitalized/test.js new file mode 100644 index 000000000..27e834445 --- /dev/null +++ b/test/fixtures/render/autotest/whitespace-textarea-capitalized/test.js @@ -0,0 +1,3 @@ +exports.templateData = { + "name": "World" +}; diff --git a/test/fixtures/render/autotest/whitespace-textarea/expected.html b/test/fixtures/render/autotest/whitespace-textarea/expected.html new file mode 100644 index 000000000..619534353 --- /dev/null +++ b/test/fixtures/render/autotest/whitespace-textarea/expected.html @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/test/fixtures/render/autotest/whitespace-textarea/template.marko b/test/fixtures/render/autotest/whitespace-textarea/template.marko new file mode 100644 index 000000000..619534353 --- /dev/null +++ b/test/fixtures/render/autotest/whitespace-textarea/template.marko @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/test/fixtures/render/autotest/whitespace-textarea/test.js b/test/fixtures/render/autotest/whitespace-textarea/test.js new file mode 100644 index 000000000..27e834445 --- /dev/null +++ b/test/fixtures/render/autotest/whitespace-textarea/test.js @@ -0,0 +1,3 @@ +exports.templateData = { + "name": "World" +};