aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/html-writer.js7
-rw-r--r--tests/html-writer.tests.js8
2 files changed, 14 insertions, 1 deletions
diff --git a/lib/html-writer.js b/lib/html-writer.js
index be35d52..c144261 100644
--- a/lib/html-writer.js
+++ b/lib/html-writer.js
@@ -57,6 +57,11 @@ function prettyWriter() {
writer.selfClosing(tagName, attributes);
}
+ function append(html) {
+ indent();
+ writer.append(html.replace("\n", "\n" + indentation));
+ }
+
function insideIndentedElement() {
return stack.length === 0 || indentedElements[stack[stack.length - 1]];
}
@@ -76,7 +81,7 @@ function prettyWriter() {
close: close,
text: text,
selfClosing: selfClosing,
- append: writer.append
+ append: append
};
}
diff --git a/tests/html-writer.tests.js b/tests/html-writer.tests.js
index de8b76f..c40cda4 100644
--- a/tests/html-writer.tests.js
+++ b/tests/html-writer.tests.js
@@ -66,4 +66,12 @@ describe('html-writer', function() {
writer.close("p");
return assert.equal(writer.asString(), "<p>\n <br />\n</p>");
});
+
+ test('newlines in appended HTML are indented', function() {
+ var writer = htmlWriter.writer({prettyPrint: true});
+ writer.open("p");
+ writer.append("One\nTwo");
+ writer.close("p");
+ return assert.equal(writer.asString(), "<p>\n One\n Two\n</p>");
+ });
})