diff options
| author | Michael Williamson <mike@zwobble.org> | 2017-04-13 21:57:00 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2017-04-13 21:57:00 +0100 |
| commit | b2bccab123b94b53b4789974ce41125e8e7735fa (patch) | |
| tree | b645fe9cf71a59bb43b88ec7188a48c2b3b2ef75 /test | |
| parent | 96b8496dc47880693b646f81cfd440de8aa5f9ae (diff) | |
Add transforms.run
Diffstat (limited to 'test')
| -rw-r--r-- | test/transforms.tests.js | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/test/transforms.tests.js b/test/transforms.tests.js index c6656dd..d9112b2 100644 --- a/test/transforms.tests.js +++ b/test/transforms.tests.js @@ -1,9 +1,84 @@ var assert = require("assert"); +var _ = require("underscore"); + +var documents = require("../lib/documents"); var transforms = require("../lib/transforms"); var test = require("./test")(module); +test("paragraph()", { + "paragraph is transformed": function() { + var paragraph = documents.paragraph([]); + var result = transforms.paragraph(function() { + return documents.tab(); + })(paragraph); + assert.deepEqual(result, documents.tab()); + }, + + "non-paragraph elements are not transformed": function() { + var run = documents.run([]); + var result = transforms.paragraph(function() { + return documents.tab(); + })(run); + assert.deepEqual(result, documents.run([])); + } +}); + + +test("run()", { + "run is transformed": function() { + var run = documents.run([]); + var result = transforms.run(function() { + return documents.tab(); + })(run); + assert.deepEqual(result, documents.tab()); + }, + + "non-run elements are not transformed": function() { + var paragraph = documents.paragraph([]); + var result = transforms.run(function() { + return documents.tab(); + })(paragraph); + assert.deepEqual(result, documents.paragraph([])); + } +}); + + +test("elements()", { + "all descendants are transformed": function() { + var root = { + children: [ + { + children: [ + {} + ] + } + ] + }; + var currentCount = 0; + function setCount(node) { + currentCount++; + return _.extend(node, {count: currentCount}); + } + + var result = transforms._elements(setCount)(root); + + assert.deepEqual(result, { + count: 3, + children: [ + { + count: 2, + children: [ + {count: 1} + ] + } + ] + }); + } +}); + + test("getDescendants()", { "returns nothing if element has no children property": function() { assert.deepEqual(transforms.getDescendants({}), []); |
