diff options
Diffstat (limited to 'tests/html/simplify.tests.js')
| -rw-r--r-- | tests/html/simplify.tests.js | 36 |
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")])])); + }); +}); |
