Skip to content

Commit 97f034a

Browse files
committed
Refactor color tests for minimal loading.
1 parent f37405d commit 97f034a

4 files changed

Lines changed: 180 additions & 176 deletions

File tree

test/color/hcl-test.js

Lines changed: 41 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,27 @@
11
var vows = require("vows"),
2+
d3 = require("../../"),
23
load = require("../load"),
34
assert = require("../env-assert");
45

56
var suite = vows.describe("d3.hcl");
67

78
suite.addBatch({
89
"hcl": {
9-
topic: load("color/hcl"),
10-
"converts string channel values to numbers": function(d3) {
11-
assertHclEqual(d3.hcl("50", "-4", "32"), 50, -4, 32);
10+
topic: load("color/hcl").expression("d3.hcl"),
11+
"converts string channel values to numbers": function(hcl) {
12+
assertHclEqual(hcl("50", "-4", "32"), 50, -4, 32);
1213
},
13-
"converts null channel values to zero": function(d3) {
14-
assertHclEqual(d3.hcl(null, null, null), 0, 0, 0);
14+
"converts null channel values to zero": function(hcl) {
15+
assertHclEqual(hcl(null, null, null), 0, 0, 0);
1516
},
16-
"exposes h, c and l properties": function(d3) {
17-
var color = d3.hcl(50, -4, 32);
17+
"exposes h, c and l properties": function(hcl) {
18+
var color = hcl(50, -4, 32);
1819
assert.equal(color.h, 50);
1920
assert.equal(color.c, -4);
2021
assert.equal(color.l, 32);
2122
},
22-
"changing h, c or l affects the string format": function(d3) {
23-
var color = d3.hcl(50, -4, 32);
23+
"changing h, c or l affects the string format": function(hcl) {
24+
var color = hcl(50, -4, 32);
2425
assert.equal(color + "", "#444d50");
2526
color.h++;
2627
assert.equal(color + "", "#444d50");
@@ -29,50 +30,50 @@ suite.addBatch({
2930
color.l++;
3031
assert.equal(color + "", "#494f51");
3132
},
32-
"parses hexadecimal shorthand format (e.g., \"#abc\")": function(d3) {
33-
assertHclEqual(d3.hcl("#abc"), -102.28223831811077, 10.774886733325554, 75.10497524893663);
33+
"parses hexadecimal shorthand format (e.g., \"#abc\")": function(hcl) {
34+
assertHclEqual(hcl("#abc"), -102.28223831811077, 10.774886733325554, 75.10497524893663);
3435
},
35-
"parses hexadecimal format (e.g., \"#abcdef\")": function(d3) {
36-
assertHclEqual(d3.hcl("#abcdef"), -100.15785184209284, 20.768234621934273, 81.04386565274363);
36+
"parses hexadecimal format (e.g., \"#abcdef\")": function(hcl) {
37+
assertHclEqual(hcl("#abcdef"), -100.15785184209284, 20.768234621934273, 81.04386565274363);
3738
},
38-
"parses HSL format (e.g., \"hsl(210, 64%, 13%)\")": function(d3) {
39-
assertHclEqual(d3.hcl("hsl(210, 64.7058%, 13.33333%)"), -89.58282792342067, 16.833655998102003, 12.65624852526134);
39+
"parses HSL format (e.g., \"hsl(210, 64%, 13%)\")": function(hcl) {
40+
assertHclEqual(hcl("hsl(210, 64.7058%, 13.33333%)"), -89.58282792342067, 16.833655998102003, 12.65624852526134);
4041
},
41-
"parses color names (e.g., \"moccasin\")": function(d3) {
42-
assertHclEqual(d3.hcl("moccasin"), 84.71288921124494, 26.472460854104156, 91.72317744746022);
42+
"parses color names (e.g., \"moccasin\")": function(hcl) {
43+
assertHclEqual(hcl("moccasin"), 84.71288921124494, 26.472460854104156, 91.72317744746022);
4344
},
44-
"parses and converts RGB format (e.g., \"rgb(102, 102, 0)\")": function(d3) {
45-
assertHclEqual(d3.hcl("rgb(102, 102, 0)"), 102.85124420310271, 49.44871600399321, 41.73251953866431);
45+
"parses and converts RGB format (e.g., \"rgb(102, 102, 0)\")": function(hcl) {
46+
assertHclEqual(hcl("rgb(102, 102, 0)"), 102.85124420310271, 49.44871600399321, 41.73251953866431);
4647
},
47-
"can convert from RGB": function(d3) {
48-
assertHclEqual(d3.hcl(d3.rgb(12, 34, 56)), -89.58282792342067, 16.833655998102003, 12.65624852526134);
48+
"can convert from RGB": function(hcl) {
49+
assertHclEqual(hcl(d3.rgb(12, 34, 56)), -89.58282792342067, 16.833655998102003, 12.65624852526134);
4950
},
50-
"can convert from HSL": function(d3) {
51-
assertHclEqual(d3.hcl(d3.hcl(20, .8, .3)), 20, 0.8, 0.3);
51+
"can convert from HSL": function(hcl) {
52+
assertHclEqual(hcl(hcl(20, .8, .3)), 20, 0.8, 0.3);
5253
},
53-
"can convert to RGB": function(d3) {
54-
assert.rgbEqual(d3.hcl("steelblue").rgb(), 70, 130, 180);
54+
"can convert to RGB": function(hcl) {
55+
assert.rgbEqual(hcl("steelblue").rgb(), 70, 130, 180);
5556
},
56-
"can derive a brighter color": function(d3) {
57-
assertHclEqual(d3.hcl("steelblue").brighter(), -97.21873224090723, 32.44906314974561, 70.46551718768575);
58-
assertHclEqual(d3.hcl("steelblue").brighter(.5), -97.21873224090723, 32.44906314974561, 61.46551718768575);
57+
"can derive a brighter color": function(hcl) {
58+
assertHclEqual(hcl("steelblue").brighter(), -97.21873224090723, 32.44906314974561, 70.46551718768575);
59+
assertHclEqual(hcl("steelblue").brighter(.5), -97.21873224090723, 32.44906314974561, 61.46551718768575);
5960
},
60-
"can derive a darker color": function(d3) {
61-
assertHclEqual(d3.hcl("lightsteelblue").darker(), -94.8160116310511, 15.26488988314746, 60.45157936968134);
62-
assertHclEqual(d3.hcl("lightsteelblue").darker(.5), -94.8160116310511, 15.26488988314746, 69.45157936968134);
61+
"can derive a darker color": function(hcl) {
62+
assertHclEqual(hcl("lightsteelblue").darker(), -94.8160116310511, 15.26488988314746, 60.45157936968134);
63+
assertHclEqual(hcl("lightsteelblue").darker(.5), -94.8160116310511, 15.26488988314746, 69.45157936968134);
6364
},
64-
"string coercion returns RGB format": function(d3) {
65-
assert.strictEqual(d3.hcl("hsl(60, 100%, 20%)") + "", "#666600");
66-
assert.strictEqual(d3.hcl(d3.hcl(60, -4, 32)) + "", "#454c51");
65+
"string coercion returns RGB format": function(hcl) {
66+
assert.strictEqual(hcl("hsl(60, 100%, 20%)") + "", "#666600");
67+
assert.strictEqual(hcl(hcl(60, -4, 32)) + "", "#454c51");
6768
},
68-
"roundtrip to HSL is idempotent": function(d3) {
69-
assert.hslEqual(d3.hsl(d3.hcl("steelblue")), d3.hsl("steelblue"));
69+
"roundtrip to HSL is idempotent": function(hcl) {
70+
assert.hslEqual(d3.hsl(hcl("steelblue")), d3.hsl("steelblue"));
7071
},
71-
"roundtrip to RGB is idempotent": function(d3) {
72-
assert.hslEqual(d3.rgb(d3.hcl("steelblue")), d3.rgb("steelblue"));
72+
"roundtrip to RGB is idempotent": function(hcl) {
73+
assert.hslEqual(d3.rgb(hcl("steelblue")), d3.rgb("steelblue"));
7374
},
74-
"roundtrip to Lab is idempotent": function(d3) {
75-
assert.hslEqual(d3.lab(d3.hcl("steelblue")), d3.lab("steelblue"));
75+
"roundtrip to Lab is idempotent": function(hcl) {
76+
assert.hslEqual(d3.lab(hcl("steelblue")), d3.lab("steelblue"));
7677
}
7778
}
7879
});

test/color/hsl-test.js

Lines changed: 44 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,77 @@
11
var vows = require("vows"),
2+
d3 = require("../../"),
23
load = require("../load"),
34
assert = require("../env-assert");
45

56
var suite = vows.describe("d3.hsl");
67

78
suite.addBatch({
89
"hsl": {
9-
topic: load("color/hsl"),
10-
"does not clamp channel values": function(d3) {
11-
assert.hslEqual(d3.hsl(-100, -1, -2), -100, -1, -2);
12-
assert.hslEqual(d3.hsl(400, 2, 3), 400, 2, 3);
10+
topic: load("color/hsl").expression("d3.hsl"),
11+
"does not clamp channel values": function(hsl) {
12+
assert.hslEqual(hsl(-100, -1, -2), -100, -1, -2);
13+
assert.hslEqual(hsl(400, 2, 3), 400, 2, 3);
1314
},
14-
"converts string channel values to numbers": function(d3) {
15-
assert.hslEqual(d3.hsl("180", ".5", ".6"), 180, .5, .6);
15+
"converts string channel values to numbers": function(hsl) {
16+
assert.hslEqual(hsl("180", ".5", ".6"), 180, .5, .6);
1617
},
17-
"converts null channel values to zero": function(d3) {
18-
assert.hslEqual(d3.hsl(null, null, null), 0, 0, 0);
18+
"converts null channel values to zero": function(hsl) {
19+
assert.hslEqual(hsl(null, null, null), 0, 0, 0);
1920
},
20-
"exposes h, s and l properties": function(d3) {
21-
var color = d3.hsl("hsl(180, 50%, 60%)");
21+
"exposes h, s and l properties": function(hsl) {
22+
var color = hsl("hsl(180, 50%, 60%)");
2223
assert.equal(color.h, 180);
2324
assert.equal(color.s, .5);
2425
assert.equal(color.l, .6);
2526
},
26-
"changing h, s or l affects the string format": function(d3) {
27-
var color = d3.hsl("hsl(180, 50%, 60%)");
27+
"changing h, s or l affects the string format": function(hsl) {
28+
var color = hsl("hsl(180, 50%, 60%)");
2829
color.h++;
2930
color.s += .1;
3031
color.l += .1;
3132
assert.equal(color + "", "#85dfe0");
3233
},
33-
"parses hexadecimal shorthand format (e.g., \"#abc\")": function(d3) {
34-
assert.hslEqual(d3.hsl("#abc"), 210, .25, .733333);
34+
"parses hexadecimal shorthand format (e.g., \"#abc\")": function(hsl) {
35+
assert.hslEqual(hsl("#abc"), 210, .25, .733333);
3536
},
36-
"parses hexadecimal format (e.g., \"#abcdef\")": function(d3) {
37-
assert.hslEqual(d3.hsl("#abcdef"), 210, .68, .803922);
37+
"parses hexadecimal format (e.g., \"#abcdef\")": function(hsl) {
38+
assert.hslEqual(hsl("#abcdef"), 210, .68, .803922);
3839
},
39-
"parses HSL format (e.g., \"hsl(210, 64%, 13%)\")": function(d3) {
40-
assert.hslEqual(d3.hsl("hsl(210, 64.7058%, 13.33333%)"), 210, .647058, .133333);
40+
"parses HSL format (e.g., \"hsl(210, 64%, 13%)\")": function(hsl) {
41+
assert.hslEqual(hsl("hsl(210, 64.7058%, 13.33333%)"), 210, .647058, .133333);
4142
},
42-
"parses color names (e.g., \"moccasin\")": function(d3) {
43-
assert.hslEqual(d3.hsl("moccasin"), 38.108108, 1, .854902);
44-
assert.hslEqual(d3.hsl("aliceblue"), 208, 1, .970588);
45-
assert.hslEqual(d3.hsl("yellow"), 60, 1, .5);
43+
"parses color names (e.g., \"moccasin\")": function(hsl) {
44+
assert.hslEqual(hsl("moccasin"), 38.108108, 1, .854902);
45+
assert.hslEqual(hsl("aliceblue"), 208, 1, .970588);
46+
assert.hslEqual(hsl("yellow"), 60, 1, .5);
4647
},
47-
"parses and converts RGB format (e.g., \"rgb(102, 102, 0)\")": function(d3) {
48-
assert.hslEqual(d3.hsl("rgb(102, 102, 0)"), 60, 1, .2);
48+
"parses and converts RGB format (e.g., \"rgb(102, 102, 0)\")": function(hsl) {
49+
assert.hslEqual(hsl("rgb(102, 102, 0)"), 60, 1, .2);
4950
},
50-
"can convert from RGB": function(d3) {
51-
assert.hslEqual(d3.hsl(d3.rgb(12, 34, 56)), 210, .647058, .133333);
51+
"can convert from RGB": function(hsl) {
52+
assert.hslEqual(hsl(d3.rgb(12, 34, 56)), 210, .647058, .133333);
5253
},
53-
"can convert from HSL": function(d3) {
54-
assert.hslEqual(d3.hsl(d3.hsl(20, .8, .3)), 20, .8, .3);
54+
"can convert from HSL": function(hsl) {
55+
assert.hslEqual(hsl(hsl(20, .8, .3)), 20, .8, .3);
5556
},
56-
"can convert to RGB": function(d3) {
57-
assert.rgbEqual(d3.hsl("steelblue").rgb(), 70, 130, 180);
57+
"can convert to RGB": function(hsl) {
58+
assert.rgbEqual(hsl("steelblue").rgb(), 70, 130, 180);
5859
},
59-
"can derive a brighter color": function(d3) {
60-
assert.hslEqual(d3.hsl("steelblue").brighter(), 207.272727, .44, .7002801);
61-
assert.hslEqual(d3.hsl("steelblue").brighter(.5), 207.272727, .44, .5858964);
62-
assert.hslEqual(d3.hsl("steelblue").brighter(1), 207.272727, .44, .7002801);
63-
assert.hslEqual(d3.hsl("steelblue").brighter(2), 207.272727, .44, 1.0004002);
60+
"can derive a brighter color": function(hsl) {
61+
assert.hslEqual(hsl("steelblue").brighter(), 207.272727, .44, .7002801);
62+
assert.hslEqual(hsl("steelblue").brighter(.5), 207.272727, .44, .5858964);
63+
assert.hslEqual(hsl("steelblue").brighter(1), 207.272727, .44, .7002801);
64+
assert.hslEqual(hsl("steelblue").brighter(2), 207.272727, .44, 1.0004002);
6465
},
65-
"can derive a darker color": function(d3) {
66-
assert.hslEqual(d3.hsl("lightsteelblue").darker(), 213.913043, .4107143, .5462745);
67-
assert.hslEqual(d3.hsl("lightsteelblue").darker(.5), 213.913043, .4107143, .6529229);
68-
assert.hslEqual(d3.hsl("lightsteelblue").darker(1), 213.913043, .4107143, .5462745);
69-
assert.hslEqual(d3.hsl("lightsteelblue").darker(2), 213.913043, .4107143, .38239216);
66+
"can derive a darker color": function(hsl) {
67+
assert.hslEqual(hsl("lightsteelblue").darker(), 213.913043, .4107143, .5462745);
68+
assert.hslEqual(hsl("lightsteelblue").darker(.5), 213.913043, .4107143, .6529229);
69+
assert.hslEqual(hsl("lightsteelblue").darker(1), 213.913043, .4107143, .5462745);
70+
assert.hslEqual(hsl("lightsteelblue").darker(2), 213.913043, .4107143, .38239216);
7071
},
71-
"string coercion returns RGB format": function(d3) {
72-
assert.strictEqual(d3.hsl("hsl(60, 100%, 20%)") + "", "#666600");
73-
assert.strictEqual(d3.hsl(d3.hsl(60, 1, .2)) + "", "#666600");
72+
"string coercion returns RGB format": function(hsl) {
73+
assert.strictEqual(hsl("hsl(60, 100%, 20%)") + "", "#666600");
74+
assert.strictEqual(hsl(hsl(60, 1, .2)) + "", "#666600");
7475
}
7576
}
7677
});

test/color/lab-test.js

Lines changed: 41 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,27 @@
11
var vows = require("vows"),
2+
d3 = require("../../"),
23
load = require("../load"),
34
assert = require("../env-assert");
45

56
var suite = vows.describe("d3.lab");
67

78
suite.addBatch({
89
"lab": {
9-
topic: load("color/lab"),
10-
"converts string channel values to numbers": function(d3) {
11-
assertLabEqual(d3.lab("50", "-4", "-32"), 50, -4, -32);
10+
topic: load("color/lab").expression("d3.lab"),
11+
"converts string channel values to numbers": function(lab) {
12+
assertLabEqual(lab("50", "-4", "-32"), 50, -4, -32);
1213
},
13-
"converts null channel values to zero": function(d3) {
14-
assertLabEqual(d3.lab(null, null, null), 0, 0, 0);
14+
"converts null channel values to zero": function(lab) {
15+
assertLabEqual(lab(null, null, null), 0, 0, 0);
1516
},
16-
"exposes l, a and b properties": function(d3) {
17-
var color = d3.lab(50, -4, -32);
17+
"exposes l, a and b properties": function(lab) {
18+
var color = lab(50, -4, -32);
1819
assert.equal(color.l, 50);
1920
assert.equal(color.a, -4);
2021
assert.equal(color.b, -32);
2122
},
22-
"changing l, a or b affects the string format": function(d3) {
23-
var color = d3.lab(50, -4, -32);
23+
"changing l, a or b affects the string format": function(lab) {
24+
var color = lab(50, -4, -32);
2425
assert.equal(color + "", "#3f7cad");
2526
color.l++;
2627
assert.equal(color + "", "#427eb0");
@@ -29,50 +30,50 @@ suite.addBatch({
2930
color.b++;
3031
assert.equal(color + "", "#487eae");
3132
},
32-
"parses hexadecimal shorthand format (e.g., \"#abc\")": function(d3) {
33-
assertLabEqual(d3.lab("#abc"), 75.10497524893663, -2.292114632248876, -10.528266458853786);
33+
"parses hexadecimal shorthand format (e.g., \"#abc\")": function(lab) {
34+
assertLabEqual(lab("#abc"), 75.10497524893663, -2.292114632248876, -10.528266458853786);
3435
},
35-
"parses hexadecimal format (e.g., \"#abcdef\")": function(d3) {
36-
assertLabEqual(d3.lab("#abcdef"), 81.04386565274363, -3.6627002800885267, -20.442705201854984);
36+
"parses hexadecimal format (e.g., \"#abcdef\")": function(lab) {
37+
assertLabEqual(lab("#abcdef"), 81.04386565274363, -3.6627002800885267, -20.442705201854984);
3738
},
38-
"parses HSL format (e.g., \"hsl(210, 64%, 13%)\")": function(d3) {
39-
assertLabEqual(d3.lab("hsl(210, 64.7058%, 13.33333%)"), 12.65624852526134, 0.12256520883417721, -16.833209795877284);
39+
"parses HSL format (e.g., \"hsl(210, 64%, 13%)\")": function(lab) {
40+
assertLabEqual(lab("hsl(210, 64.7058%, 13.33333%)"), 12.65624852526134, 0.12256520883417721, -16.833209795877284);
4041
},
41-
"parses color names (e.g., \"moccasin\")": function(d3) {
42-
assertLabEqual(d3.lab("moccasin"), 91.72317744746022, 2.4393469358685027, 26.359832514614844);
42+
"parses color names (e.g., \"moccasin\")": function(lab) {
43+
assertLabEqual(lab("moccasin"), 91.72317744746022, 2.4393469358685027, 26.359832514614844);
4344
},
44-
"parses and converts RGB format (e.g., \"rgb(102, 102, 0)\")": function(d3) {
45-
assertLabEqual(d3.lab("rgb(102, 102, 0)"), 41.73251953866431, -10.998411255098816, 48.21006600604577);
45+
"parses and converts RGB format (e.g., \"rgb(102, 102, 0)\")": function(lab) {
46+
assertLabEqual(lab("rgb(102, 102, 0)"), 41.73251953866431, -10.998411255098816, 48.21006600604577);
4647
},
47-
"can convert from RGB": function(d3) {
48-
assertLabEqual(d3.lab(d3.rgb(12, 34, 56)), 12.65624852526134, 0.12256520883417721, -16.833209795877284);
48+
"can convert from RGB": function(lab) {
49+
assertLabEqual(lab(d3.rgb(12, 34, 56)), 12.65624852526134, 0.12256520883417721, -16.833209795877284);
4950
},
50-
"can convert from HSL": function(d3) {
51-
assertLabEqual(d3.lab(d3.lab(20, .8, .3)), 20, 0.8, 0.3);
51+
"can convert from HSL": function(lab) {
52+
assertLabEqual(lab(lab(20, .8, .3)), 20, 0.8, 0.3);
5253
},
53-
"can convert to RGB": function(d3) {
54-
assert.rgbEqual(d3.lab("steelblue").rgb(), 70, 130, 180);
54+
"can convert to RGB": function(lab) {
55+
assert.rgbEqual(lab("steelblue").rgb(), 70, 130, 180);
5556
},
56-
"can derive a brighter color": function(d3) {
57-
assertLabEqual(d3.lab("steelblue").brighter(), 70.46551718768575, -4.0774710123572255, -32.19186122981343);
58-
assertLabEqual(d3.lab("steelblue").brighter(.5), 61.46551718768575, -4.0774710123572255, -32.19186122981343);
57+
"can derive a brighter color": function(lab) {
58+
assertLabEqual(lab("steelblue").brighter(), 70.46551718768575, -4.0774710123572255, -32.19186122981343);
59+
assertLabEqual(lab("steelblue").brighter(.5), 61.46551718768575, -4.0774710123572255, -32.19186122981343);
5960
},
60-
"can derive a darker color": function(d3) {
61-
assertLabEqual(d3.lab("lightsteelblue").darker(), 60.45157936968134, -1.2815839134120433, -15.210996213841522);
62-
assertLabEqual(d3.lab("lightsteelblue").darker(.5), 69.45157936968134, -1.2815839134120433, -15.210996213841522);
61+
"can derive a darker color": function(lab) {
62+
assertLabEqual(lab("lightsteelblue").darker(), 60.45157936968134, -1.2815839134120433, -15.210996213841522);
63+
assertLabEqual(lab("lightsteelblue").darker(.5), 69.45157936968134, -1.2815839134120433, -15.210996213841522);
6364
},
64-
"string coercion returns RGB format": function(d3) {
65-
assert.strictEqual(d3.lab("hsl(60, 100%, 20%)") + "", "#666600");
66-
assert.strictEqual(d3.lab(d3.lab(60, -4, -32)) + "", "#5d95c8");
65+
"string coercion returns RGB format": function(lab) {
66+
assert.strictEqual(lab("hsl(60, 100%, 20%)") + "", "#666600");
67+
assert.strictEqual(lab(lab(60, -4, -32)) + "", "#5d95c8");
6768
},
68-
"roundtrip to HSL is idempotent": function(d3) {
69-
assert.hslEqual(d3.hsl(d3.lab("steelblue")), d3.hsl("steelblue"));
69+
"roundtrip to HSL is idempotent": function(lab) {
70+
assert.hslEqual(d3.hsl(lab("steelblue")), d3.hsl("steelblue"));
7071
},
71-
"roundtrip to RGB is idempotent": function(d3) {
72-
assert.hslEqual(d3.rgb(d3.lab("steelblue")), d3.rgb("steelblue"));
72+
"roundtrip to RGB is idempotent": function(lab) {
73+
assert.hslEqual(d3.rgb(lab("steelblue")), d3.rgb("steelblue"));
7374
},
74-
"roundtrip to HCL is idempotent": function(d3) {
75-
assert.hslEqual(d3.hcl(d3.lab("steelblue")), d3.hcl("steelblue"));
75+
"roundtrip to HCL is idempotent": function(lab) {
76+
assert.hslEqual(d3.hcl(lab("steelblue")), d3.hcl("steelblue"));
7677
}
7778
}
7879
});

0 commit comments

Comments
 (0)