Refactor svg tests using smash.

This commit is contained in:
Mike Bostock 2013-03-14 08:46:45 -07:00
Родитель e65d455ac6
Коммит 0f2b61ae93
10 изменённых файлов: 44 добавлений и 56 удалений

Просмотреть файл

@ -1,5 +1,6 @@
import "svg";
import "area";
import "svg";
import "line-radial";
d3.svg.area.radial = function() {
var area = d3_svg_area(d3_svg_lineRadial);

Просмотреть файл

@ -1,6 +1,7 @@
import "../arrays/map";
import "../core/functor";
import "../math/trigonometry";
import "svg";
d3.svg.symbol = function() {
var type = d3_svg_symbolType,

Просмотреть файл

@ -1,15 +1,12 @@
require("../env");
var vows = require("vows"),
load = require("../load"),
assert = require("../env-assert");
var suite = vows.describe("d3.svg.arc");
suite.addBatch({
"arc": {
topic: function() {
return d3.svg.arc;
},
topic: load("svg/arc").expression("d3.svg.arc"),
"innerRadius defaults to a function accessor": function(arc) {
var a = arc().outerRadius(100).startAngle(0).endAngle(Math.PI);

Просмотреть файл

@ -1,15 +1,13 @@
require("../env");
var vows = require("vows"),
d3 = require("../../"),
load = require("../load"),
assert = require("../env-assert");
var suite = vows.describe("d3.svg.area.radial");
suite.addBatch({
"area.radial": {
topic: function() {
return d3.svg.area.radial;
},
topic: load("svg/area-radial").expression("d3.svg.area.radial"),
"radius is an alias for setting innerRadius and outerRadius": function(area) {
var a = area().radius(f);
@ -182,18 +180,18 @@ suite.addBatch({
function testInterpolation(interpolate) {
var data = [[10, 0], [20, 1], [20, 2], [10, 3]];
var radial = d3.svg.area.radial()
.innerRadius(function(d) { return d[0]; })
.outerRadius(function(d) { return d[0] * 2; })
.angle(function(d) { return d[1]; });
var cartesian = d3.svg.area()
.x0(function(d) { return d[0] * Math.cos(d[1] - Math.PI / 2); })
.x1(function(d) { return 2 * d[0] * Math.cos(d[1] - Math.PI / 2); })
.y0(function(d) { return d[0] * Math.sin(d[1] - Math.PI / 2); })
.y1(function(d) { return 2 * d[0] * Math.sin(d[1] - Math.PI / 2); });
return function() {
return function(area) {
var radial = area()
.innerRadius(function(d) { return d[0]; })
.outerRadius(function(d) { return d[0] * 2; })
.angle(function(d) { return d[1]; });
assert.pathEqual(radial.interpolate(interpolate)(data), cartesian.interpolate(interpolate)(data));
};
}

Просмотреть файл

@ -1,15 +1,13 @@
require("../env");
var vows = require("vows"),
d3 = require("../../"),
load = require("../load"),
assert = require("../env-assert");
var suite = vows.describe("d3.svg.area");
suite.addBatch({
"area": {
topic: function() {
return d3.svg.area;
},
topic: load("svg/area").expression("d3.svg.area"),
"x is an alias for setting x0 and x1": function(area) {
var a = area().x(f);

Просмотреть файл

@ -1,15 +1,17 @@
require("../env");
var vows = require("vows"),
assert = require("../env-assert");
d3 = require("../../"),
load = require("../load"),
assert = require("../env-assert"),
document = d3.selection().node()._ownerDocument,
window = document.defaultView;
var suite = vows.describe("d3.svg.axis");
suite.addBatch({
"axis": {
topic: function() {
return d3.svg.axis;
},
topic: load("svg/axis")
.expression("d3.svg.axis")
.sandbox({document: document, window: window}),
"scale": {
"defaults to a linear scale": function(axis) {

Просмотреть файл

@ -1,15 +1,18 @@
require("../env");
var vows = require("vows"),
assert = require("../env-assert");
d3 = require("../../"),
load = require("../load"),
assert = require("../env-assert"),
jsdom = require("jsdom").jsdom,
document = jsdom("<html><head></head><body></body></html>"),
window = document.createWindow();
var suite = vows.describe("d3.svg.brush");
suite.addBatch({
"brush": {
topic: function() {
return d3.svg.brush;
},
topic: load("svg/brush")
.expression("d3.svg.brush")
.sandbox({document: document, window: window}),
"x": {
"defaults to null": function(brush) {

Просмотреть файл

@ -1,15 +1,13 @@
require("../env");
var vows = require("vows"),
d3 = require("../../"),
load = require("../load"),
assert = require("../env-assert");
var suite = vows.describe("d3.svg.line.radial");
suite.addBatch({
"line.radial": {
topic: function() {
return d3.svg.line.radial;
},
topic: load("svg/line-radial").expression("d3.svg.line.radial"),
"radius defaults to a function accessor": function(line) {
var l = line();
@ -110,14 +108,12 @@ suite.addBatch({
function testInterpolation(interpolate) {
var data = [[10, 0], [20, 1], [20, 2], [10, 3]];
var radial = d3.svg.line.radial();
var cartesian = d3.svg.line()
.x(function(d) { return d[0] * Math.cos(d[1] - Math.PI / 2); })
.y(function(d) { return d[0] * Math.sin(d[1] - Math.PI / 2); });
return function() {
assert.pathEqual(radial.interpolate(interpolate)(data), cartesian.interpolate(interpolate)(data));
return function(radial) {
assert.pathEqual(radial().interpolate(interpolate)(data), cartesian.interpolate(interpolate)(data));
};
}

Просмотреть файл

@ -1,15 +1,12 @@
require("../env");
var vows = require("vows"),
load = require("../load"),
assert = require("../env-assert");
var suite = vows.describe("d3.svg.line");
suite.addBatch({
"line": {
topic: function() {
return d3.svg.line;
},
topic: load("svg/line").expression("d3.svg.line"),
"x defaults to a function accessor": function(line) {
var l = line();

Просмотреть файл

@ -1,15 +1,12 @@
require("../env");
var vows = require("vows"),
load = require("../load"),
assert = require("../env-assert");
var suite = vows.describe("d3.svg.symbol");
suite.addBatch({
"symbol": {
topic: function() {
return d3.svg.symbol;
},
topic: load("svg/symbol").expression("d3.svg.symbol"),
"default symbol is a fixed-size circle": function(symbol) {
var a = symbol();
assert.pathEqual(a(), "M0,4.51351666838205A4.51351666838205,4.51351666838205 0 1,1 0,-4.51351666838205A4.51351666838205,4.51351666838205 0 1,1 0,4.51351666838205Z");
@ -69,9 +66,7 @@ suite.addBatch({
}
},
"symbolTypes": {
topic: function() {
return d3.svg.symbolTypes;
},
topic: load("svg/symbol").expression("d3.svg.symbolTypes"),
"contains circle": function(types) {
assert.isTrue(types.indexOf("circle") != -1);
},