aboutsummaryrefslogtreecommitdiff
path: root/tests/html/simplify.tests.js
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-10-14 19:14:11 +0100
committerMichael Williamson <mike@zwobble.org>2015-10-14 19:14:11 +0100
commit46ad965f936563829a7c0549a5eb1af89155ee48 (patch)
tree3cb9ab57466bc375926c1d04fce9a6f4f4e8858b /tests/html/simplify.tests.js
parent27895603885e677e0ae6677553c8636b4af51cb3 (diff)
Add extra tests for simplification of empty elements
Diffstat (limited to 'tests/html/simplify.tests.js')
-rw-r--r--tests/html/simplify.tests.js20
1 files changed, 15 insertions, 5 deletions
diff --git a/tests/html/simplify.tests.js b/tests/html/simplify.tests.js
index e23c379..3c8a254 100644
--- a/tests/html/simplify.tests.js
+++ b/tests/html/simplify.tests.js
@@ -5,6 +5,7 @@ var html = require("../../lib/html");
var htmlPaths = require("../../lib/html-paths");
+var nonFreshElement = html.nonFreshElement;
var fragment = html.fragment;
var text = html.text;
var pathToNode = html.pathToNode;
@@ -16,15 +17,24 @@ describe("simplify", function() {
fragment([]));
});
- test("empty elements are removed", function() {
- var path = htmlPaths.elements([
- htmlPaths.element("p", {}, {fresh: false})]);
+ test("elements with no children are removed", function() {
assert.deepEqual(
- html.simplify(fragment([
- pathToNode(path, [text("")])])),
+ html.simplify(fragment([nonFreshElement("p", {}, [])])),
+ fragment([]));
+ });
+
+ test("elements only containing empty nodes are removed", function() {
+ assert.deepEqual(
+ html.simplify(fragment([nonFreshElement("p", {}, [text("")])])),
fragment([]));
});
+ test("children of element is simplified", function() {
+ assert.deepEqual(
+ html.simplify(fragment([nonFreshElement("p", {}, [text("Hello"), text("")])])),
+ fragment([nonFreshElement("p", {}, [text("Hello")])]));
+ });
+
test("successive fresh elements are not collapsed", function() {
var path = htmlPaths.elements([
htmlPaths.element("p", {}, {fresh: true})]);