summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-10-14 19:21:43 +0100
committerMichael Williamson <mike@zwobble.org>2015-10-14 19:21:43 +0100
commite55b8f2614fccb2ac54b3ddebe1ed3eeb12e32c9 (patch)
treeeac423eb6175aed073dcc3592a5f417308ed4225
parent68a681c30a265c1b293fdd148d662b8169d64bae (diff)
Add basic tests for writing nodes
-rw-r--r--tests/html/write.tests.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/html/write.tests.js b/tests/html/write.tests.js
new file mode 100644
index 0000000..34eaf15
--- /dev/null
+++ b/tests/html/write.tests.js
@@ -0,0 +1,32 @@
+var assert = require("assert");
+
+var test = require("../testing").test;
+var html = require("../../lib/html");
+var writers = require("../../lib/writers");
+
+
+describe("HTML write", function() {
+ test("text is HTML escaped", function() {
+ assert.equal(
+ generateString(html.text("<>&")),
+ "&lt;&gt;&amp;");
+ });
+
+ test("element attributes are HTML escaped", function() {
+ assert.equal(
+ generateString(html.freshElement("p", {"x": "<"})),
+ '<p x="&lt;"></p>');
+ });
+
+ test("element children are written", function() {
+ assert.equal(
+ generateString(html.freshElement("p", {}, [html.text("Hello")])),
+ '<p>Hello</p>');
+ });
+});
+
+function generateString(node) {
+ var writer = writers.writer();
+ html.write(writer, node);
+ return writer.asString();
+}