aboutsummaryrefslogtreecommitdiff
path: root/tests/html/simplify.tests.js
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-10-13 22:10:42 +0100
committerMichael Williamson <mike@zwobble.org>2015-10-13 22:10:42 +0100
commitaac776b1711d1e286812035a28108c622e73994a (patch)
tree366673f18143771fabbadb0fcef86d638ce33f43 /tests/html/simplify.tests.js
parent2fb7a36230b167aac99fe8d43959833bd3b244dd (diff)
Add simplification of nodes
Diffstat (limited to 'tests/html/simplify.tests.js')
-rw-r--r--tests/html/simplify.tests.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/html/simplify.tests.js b/tests/html/simplify.tests.js
new file mode 100644
index 0000000..7893663
--- /dev/null
+++ b/tests/html/simplify.tests.js
@@ -0,0 +1,36 @@
+var assert = require("assert");
+
+var test = require("../testing").test;
+var html = require("../../lib/html");
+var htmlPaths = require("../../lib/html-paths");
+
+
+var fragment = html.fragment;
+var element = html.element;
+var text = html.text;
+var pathToNode = html.pathToNode;
+
+describe("simplify", function() {
+ test("successive fresh elements are not collapsed", function() {
+ var path = htmlPaths.elements([
+ htmlPaths.element("p", {}, {fresh: true})]);
+ var original = fragment([
+ pathToNode(path, [text("Hello")]),
+ pathToNode(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(fragment([
+ pathToNode(path, [text("Hello")]),
+ pathToNode(path, [text(" there")])])),
+ fragment([
+ pathToNode(path, [text("Hello"), text(" there")])]));
+ });
+});