aboutsummaryrefslogtreecommitdiff
path: root/tests/html
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-07-03 19:19:21 +0100
committerMichael Williamson <mike@zwobble.org>2016-07-03 19:20:00 +0100
commit0b56dfce42c3944cce47e284608e6806f4c839c3 (patch)
tree5f96f9c2908f1c5b00a7192e71d4c192abd7cf47 /tests/html
parent627c4a755395e313234bdb1914d168392006c483 (diff)
Move tests to test for easier Mocha usage
Diffstat (limited to 'tests/html')
-rw-r--r--tests/html/simplify.tests.js115
-rw-r--r--tests/html/write.tests.js44
2 files changed, 0 insertions, 159 deletions
diff --git a/tests/html/simplify.tests.js b/tests/html/simplify.tests.js
deleted file mode 100644
index ccc5610..0000000
--- a/tests/html/simplify.tests.js
+++ /dev/null
@@ -1,115 +0,0 @@
-var assert = require("assert");
-
-var _ = require("underscore");
-
-var test = require("../testing").test;
-var html = require("../../lib/html");
-var htmlPaths = require("../../lib/html-paths");
-
-var nonFreshElement = html.nonFreshElement;
-var text = html.text;
-var pathToNodes = html.pathToNodes;
-
-describe("simplify", function() {
- test("empty text nodes are removed", function() {
- assert.deepEqual(
- simplifyNode(text("")),
- []
- );
- });
-
- test("elements with no children are removed", function() {
- assert.deepEqual(
- simplifyNode(nonFreshElement("p", {}, [])),
- []
- );
- });
-
- test("elements only containing empty nodes are removed", function() {
- assert.deepEqual(
- simplifyNode(nonFreshElement("p", {}, [text("")])),
- []
- );
- });
-
- test("empty children of element are removed", function() {
- assert.deepEqual(
- simplifyNode(nonFreshElement("p", {}, [text("Hello"), text("")])),
- [nonFreshElement("p", {}, [text("Hello")])]
- );
- });
-
- test("successive fresh elements are not collapsed", function() {
- var path = htmlPaths.elements([
- htmlPaths.element("p", {}, {fresh: true})
- ]);
- var original = concat(
- pathToNodes(path, [text("Hello")]),
- pathToNodes(path, [text(" there")])
- );
-
- assert.deepEqual(
- html.simplify(original),
- original);
- });
-
- test("successive plain non-fresh elements are collapsed if they have the same tag name", function() {
- var path = htmlPaths.elements([
- htmlPaths.element("p", {}, {fresh: false})
- ]);
- assert.deepEqual(
- html.simplify(concat(
- pathToNodes(path, [text("Hello")]),
- pathToNodes(path, [text(" there")])
- )),
- pathToNodes(path, [text("Hello"), text(" there")])
- );
- });
-
- test("non-fresh can collapse into preceding fresh element", function() {
- var freshPath = htmlPaths.elements([
- htmlPaths.element("p", {}, {fresh: true})]);
- var nonFreshPath = htmlPaths.elements([
- htmlPaths.element("p", {}, {fresh: false})]);
- assert.deepEqual(
- html.simplify(concat(
- pathToNodes(freshPath, [text("Hello")]),
- pathToNodes(nonFreshPath, [text(" there")])
- )),
- pathToNodes(freshPath, [text("Hello"), text(" there")])
- );
- });
-
- test("children of collapsed element can collapse with children of another collapsed element", function() {
- assert.deepEqual(
- html.simplify([
- nonFreshElement("blockquote", {}, [nonFreshElement("p", {}, [text("Hello")])]),
- nonFreshElement("blockquote", {}, [nonFreshElement("p", {}, [text("there")])])
- ]),
- [nonFreshElement("blockquote", {}, [nonFreshElement("p", {}, [text("Hello"), text("there")])])]
- );
- });
-
- test("empty elements are removed before collapsing", function() {
- var freshPath = htmlPaths.elements([
- htmlPaths.element("p", {}, {fresh: true})]);
- var nonFreshPath = htmlPaths.elements([
- htmlPaths.element("p", {}, {fresh: false})]);
- assert.deepEqual(
- html.simplify(concat(
- pathToNodes(nonFreshPath, [text("Hello")]),
- pathToNodes(freshPath, []),
- pathToNodes(nonFreshPath, [text(" there")])
- )),
- pathToNodes(nonFreshPath, [text("Hello"), text(" there")])
- );
- });
-});
-
-function simplifyNode(node) {
- return html.simplify([node]);
-}
-
-function concat() {
- return _.flatten(arguments, true);
-}
diff --git a/tests/html/write.tests.js b/tests/html/write.tests.js
deleted file mode 100644
index 531995f..0000000
--- a/tests/html/write.tests.js
+++ /dev/null
@@ -1,44 +0,0 @@
-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("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": "<"})),
- '<p x="&lt;"></p>');
- });
-
- test("double quotes inside attributes are escaped", function() {
- assert.equal(
- generateString(html.freshElement("p", {"x": '"'})),
- '<p x="&quot;"></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();
-}