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("<>&")), "<>&"); }); test("double quotes outside of attributes are not escaped", function() { assert.equal( generateString(html.text('"')), '"'); }); test("element attributes are HTML escaped", function() { assert.equal( generateString(html.freshElement("p", {"x": "<"})), '

'); }); test("double quotes inside attributes are escaped", function() { assert.equal( generateString(html.freshElement("p", {"x": '"'})), '

'); }); test("element children are written", function() { assert.equal( generateString(html.freshElement("p", {}, [html.text("Hello")])), '

Hello

'); }); }); function generateString(node) { var writer = writers.writer(); html.write(writer, [node]); return writer.asString(); }