Skip to content

Commit

Permalink
Merge pull request #167 from d3/remove-queue
Browse files Browse the repository at this point in the history
Remove devDependency on d3queue?
  • Loading branch information
Fil authored Jul 28, 2020
2 parents ed84eea + 6ab84f8 commit b022f21
Show file tree
Hide file tree
Showing 4 changed files with 82 additions and 104 deletions.
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@
"benchmark": "^2.1.4",
"d3-array": "1.2.0 - 2",
"d3-dsv": "1",
"d3-queue": "3",
"d3-random": "1.1.0 - 2",
"eslint": "6",
"rollup": "1",
Expand Down
86 changes: 39 additions & 47 deletions test/pack/flare-test.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
var fs = require("fs"),
tape = require("tape"),
d3_queue = require("d3-queue"),
d3_dsv = require("d3-dsv"),
d3_hierarchy = require("../../");

Expand All @@ -9,53 +8,46 @@ tape("pack(flare) produces the expected result", test(
"test/data/flare-pack.json"
));

function test(input, expected) {
function test(inputFile, expectedFile) {
return function(test) {

d3_queue.queue()
.defer(fs.readFile, input, "utf8")
.defer(fs.readFile, expected, "utf8")
.await(ready);

function ready(error, inputText, expectedText) {
if (error) throw error;

var stratify = d3_hierarchy.stratify()
.parentId(function(d) { var i = d.id.lastIndexOf("."); return i >= 0 ? d.id.slice(0, i) : null; });

var pack = d3_hierarchy.pack()
.size([960, 960]);

var data = d3_dsv.csvParse(inputText),
expected = JSON.parse(expectedText),
actual = pack(stratify(data)
.sum(function(d) { return d.value; })
.sort(function(a, b) { return b.value - a.value || a.data.id.localeCompare(b.data.id); }));

(function visit(node) {
node.name = node.data.id.slice(node.data.id.lastIndexOf(".") + 1);
node.x = round(node.x);
node.y = round(node.y);
node.r = round(node.r);
delete node.id;
delete node.parent;
delete node.data;
delete node.depth;
delete node.height;
if (node.children) node.children.forEach(visit);
})(actual);

(function visit(node) {
node.x = round(node.x);
node.y = round(node.y);
node.r = round(node.r);
if (node.children) node.children.forEach(visit);
})(expected);

test.deepEqual(actual, expected);
test.end();
}
};
const inputText = fs.readFileSync(inputFile, "utf8"),
expectedText = fs.readFileSync(expectedFile, "utf8");

var stratify = d3_hierarchy.stratify()
.parentId(function(d) { var i = d.id.lastIndexOf("."); return i >= 0 ? d.id.slice(0, i) : null; });

var pack = d3_hierarchy.pack()
.size([960, 960]);

var data = d3_dsv.csvParse(inputText),
expected = JSON.parse(expectedText),
actual = pack(stratify(data)
.sum(function(d) { return d.value; })
.sort(function(a, b) { return b.value - a.value || a.data.id.localeCompare(b.data.id); }));

(function visit(node) {
node.name = node.data.id.slice(node.data.id.lastIndexOf(".") + 1);
node.x = round(node.x);
node.y = round(node.y);
node.r = round(node.r);
delete node.id;
delete node.parent;
delete node.data;
delete node.depth;
delete node.height;
if (node.children) node.children.forEach(visit);
})(actual);

(function visit(node) {
node.x = round(node.x);
node.y = round(node.y);
node.r = round(node.r);
if (node.children) node.children.forEach(visit);
})(expected);

test.deepEqual(actual, expected);
test.end();
}
}

function round(x) {
Expand Down
94 changes: 43 additions & 51 deletions test/treemap/flare-test.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
var fs = require("fs"),
tape = require("tape"),
d3_queue = require("d3-queue"),
d3_dsv = require("d3-dsv"),
d3_hierarchy = require("../../");

Expand All @@ -16,63 +15,56 @@ tape("treemap(flare) produces the expected result with a squarified ratio of 1",
d3_hierarchy.treemapSquarify.ratio(1)
));

function test(input, expected, tile) {
function test(inputFile, expectedFile, tile) {
return function(test) {
const inputText = fs.readFileSync(inputFile, "utf8"),
expectedText = fs.readFileSync(expectedFile, "utf8");

d3_queue.queue()
.defer(fs.readFile, input, "utf8")
.defer(fs.readFile, expected, "utf8")
.await(ready);
var stratify = d3_hierarchy.stratify()
.parentId(function(d) { var i = d.id.lastIndexOf("."); return i >= 0 ? d.id.slice(0, i) : null; });

function ready(error, inputText, expectedText) {
if (error) throw error;
var treemap = d3_hierarchy.treemap()
.tile(tile)
.size([960, 500]);

var stratify = d3_hierarchy.stratify()
.parentId(function(d) { var i = d.id.lastIndexOf("."); return i >= 0 ? d.id.slice(0, i) : null; });
var data = d3_dsv.csvParse(inputText),
expected = JSON.parse(expectedText),
actual = treemap(stratify(data)
.sum(function(d) { return d.value; })
.sort(function(a, b) { return b.value - a.value || a.data.id.localeCompare(b.data.id); }));

var treemap = d3_hierarchy.treemap()
.tile(tile)
.size([960, 500]);
(function visit(node) {
node.name = node.data.id.slice(node.data.id.lastIndexOf(".") + 1);
node.x0 = round(node.x0);
node.y0 = round(node.y0);
node.x1 = round(node.x1);
node.y1 = round(node.y1);
delete node.id;
delete node.parent;
delete node.data;
delete node._squarify;
delete node.height;
if (node.children) node.children.forEach(visit);
})(actual);

var data = d3_dsv.csvParse(inputText),
expected = JSON.parse(expectedText),
actual = treemap(stratify(data)
.sum(function(d) { return d.value; })
.sort(function(a, b) { return b.value - a.value || a.data.id.localeCompare(b.data.id); }));
(function visit(node) {
node.x0 = round(node.x);
node.y0 = round(node.y);
node.x1 = round(node.x + node.dx);
node.y1 = round(node.y + node.dy);
delete node.x;
delete node.y;
delete node.dx;
delete node.dy;
if (node.children) {
node.children.reverse(); // D3 3.x bug
node.children.forEach(visit);
}
})(expected);

(function visit(node) {
node.name = node.data.id.slice(node.data.id.lastIndexOf(".") + 1);
node.x0 = round(node.x0);
node.y0 = round(node.y0);
node.x1 = round(node.x1);
node.y1 = round(node.y1);
delete node.id;
delete node.parent;
delete node.data;
delete node._squarify;
delete node.height;
if (node.children) node.children.forEach(visit);
})(actual);

(function visit(node) {
node.x0 = round(node.x);
node.y0 = round(node.y);
node.x1 = round(node.x + node.dx);
node.y1 = round(node.y + node.dy);
delete node.x;
delete node.y;
delete node.dx;
delete node.dy;
if (node.children) {
node.children.reverse(); // D3 3.x bug
node.children.forEach(visit);
}
})(expected);

test.deepEqual(actual, expected);
test.end();
}
};
test.deepEqual(actual, expected);
test.end();
}
}

function round(x) {
Expand Down
5 changes: 0 additions & 5 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -191,11 +191,6 @@ d3-dsv@1:
iconv-lite "0.4"
rw "1"

d3-queue@3:
version "3.0.7"
resolved "https://registry.yarnpkg.com/d3-queue/-/d3-queue-3.0.7.tgz#c93a2e54b417c0959129d7d73f6cf7d4292e7618"
integrity sha1-yTouVLQXwJWRKdfXP2z31Ckudhg=

"d3-random@1.1.0 - 2":
version "2.0.0"
resolved "https://registry.yarnpkg.com/d3-random/-/d3-random-2.0.0.tgz#8395ef00e3ef059354130b7249ff87224ada990f"
Expand Down

0 comments on commit b022f21

Please sign in to comment.