diff options
| author | Marak <[email protected]> | 2014-09-21 08:41:06 +0200 |
|---|---|---|
| committer | Marak <[email protected]> | 2014-09-21 10:28:41 +0200 |
| commit | 851b286d041c137bada54c8882cf3e024c43bb2d (patch) | |
| tree | 2f374316c800826f0c99cfc9de40d8ff071a8de6 | |
| parent | 970be2ef22f1b5895f3880c5f54251b93fdf368a (diff) | |
| download | faker-851b286d041c137bada54c8882cf3e024c43bb2d.tar.xz faker-851b286d041c137bada54c8882cf3e024c43bb2d.zip | |
[api] Removed tree module. This code should be in a separate project.
| -rw-r--r-- | index.js | 1 | ||||
| -rw-r--r-- | lib/tree.js | 73 | ||||
| -rw-r--r-- | test/tree.unit.js | 108 |
3 files changed, 0 insertions, 182 deletions
@@ -25,7 +25,6 @@ exports.company = require('./lib/company'); exports.image = require('./lib/image'); exports.lorem = require('./lib/lorem'); exports.helpers = require('./lib/helpers'); -exports.tree = require('./lib/tree'); exports.date = require('./lib/date'); exports.random = require('./lib/random'); exports.finance = require('./lib/finance'); diff --git a/lib/tree.js b/lib/tree.js deleted file mode 100644 index 204d10f4..00000000 --- a/lib/tree.js +++ /dev/null @@ -1,73 +0,0 @@ -var faker = require('../index'); - -var tree = { - - clone: function clone(obj) { - if (obj == null || typeof(obj) != 'object') - return obj; - - var temp = obj.constructor(); // changed - - for (var key in obj) { - temp[key] = this.clone(obj[key]); - } - return temp; - }, - - createTree: function (depth, width, obj) { - depth = depth || 0; - width = width || 0; - obj = obj || {}; - - if (!obj) { - throw { - name: "ObjectError", - message: "there needs to be an object passed in" - }; - } - - - if (width <= 0) { - throw { - name: "TreeParamError", - message: "width must be greater than zero" - }; - } - - var newObj = this.clone(obj); - - for (var prop in newObj) { - if (newObj.hasOwnProperty(prop)) { - var value = null; - if (newObj[prop] !== "__RECURSE__") { - value = eval(newObj[prop]); - } - else { - if (depth !== 0) { - value = []; - var evalWidth = 1; - - if (typeof(width) == "function") { - evalWidth = width(); - } - else { - evalWidth = width; - } - - for (var i = 0; i < evalWidth; i++) { - value.push(this.createTree(depth - 1, width, obj)); - } - - } - } - - newObj[prop] = value; - } - } - - return newObj; - } - -}; - -module.exports = tree; diff --git a/test/tree.unit.js b/test/tree.unit.js deleted file mode 100644 index 44b1fb77..00000000 --- a/test/tree.unit.js +++ /dev/null @@ -1,108 +0,0 @@ -if (typeof module !== 'undefined') { - var assert = require('assert'); - var sinon = require('sinon'); - var faker = require('../index'); -} - -describe("tree.js", function () { - describe("createTree()", function () { - - var proto = { - "firstname": "faker.name.firstName()", - "children": "__RECURSE__" - }; - - it("requires the width to be at least one", function () { - sinon.spy(faker.tree, 'createTree'); - - try { - faker.tree.createTree(0, 0, {}); - } - catch (e) { - } - - assert.ok(faker.tree.createTree.threw); - - faker.tree.createTree.restore(); - }); - - it("requires that the object passed in should not be null", function () { - sinon.spy(faker.tree, 'createTree'); - - try { - faker.tree.createTree(1, 1, null); - } - catch (e) { - } - - assert.ok(faker.tree.createTree.threw); - - faker.tree.createTree.restore(); - - }); - - it("can create a trivial tree with one node", function () { - sinon.spy(faker.name, 'firstName'); - - var tree = faker.tree.createTree(0, 1, proto); - - assert.ok(faker.name.firstName.calledOnce); - - assert.ok(tree.children == null); - - faker.name.firstName.restore(); - }); - - it("can create a deep tree with one node at each level", function () { - sinon.spy(faker.name, 'firstName'); - var tree = faker.tree.createTree(2, 1, proto); - - assert.ok(faker.name.firstName.calledThrice); - - assert.ok(tree.firstname); - assert.ok(tree.children[0].firstname); - assert.ok(tree.children[0].children[0].firstname); - - faker.name.firstName.restore(); - }); - - it("can create a basic N-tree", function () { - var n = 3; - sinon.spy(faker.name, 'firstName'); - var tree = faker.tree.createTree(1, n, proto); - - assert.ok(faker.name.firstName.callCount == 4); - - assert.ok(tree.firstname); - assert.ok(tree.children[0].firstname); - assert.ok(tree.children[1].firstname); - assert.ok(tree.children[2].firstname); - - faker.name.firstName.restore(); - }); - - it("can create a full N-tree", function () { - var n = 3; - sinon.spy(faker.name, 'firstName'); - var tree = faker.tree.createTree(2, n, proto); - - assert.ok(faker.name.firstName.callCount == 13); - - faker.name.firstName.restore(); - }); - - it("can accept a function for the width", function () { - var widthFuncCalled = 0; - var widthFunc = function () { - widthFuncCalled = widthFuncCalled + 1; - return 2; - }; - - var tree = faker.tree.createTree(2, widthFunc, proto); - assert.equal(widthFuncCalled, 3); - - - }); - - }); -}); |
