var vows = require("vows"), load = require("../load"), assert = require("../assert"); var suite = vows.describe("d3.interpolateLab"); suite.addBatch({ "interpolateLab": { topic: load("interpolate/lab"), // beware instanceof d3_Color "parses string input": function(d3) { assert.labEqual(d3.interpolateLab("steelblue", "#f00")(.2), 52.62, 12.76, -12.31); assert.labEqual(d3.interpolateLab("steelblue", "#f00")(.6), 52.93, 46.42, 27.45); }, "parses d3.hsl input": function(d3) { assert.labEqual(d3.interpolateLab(d3.hsl("steelblue"), "#f00")(.2), 52.62, 12.76, -12.31); assert.labEqual(d3.interpolateLab("steelblue", d3.hsl(0, 1, .5))(.6), 52.93, 46.42, 27.45); }, "parses d3.rgb input": function(d3) { assert.labEqual(d3.interpolateLab(d3.rgb("steelblue"), "#f00")(.2), 52.62, 12.76, -12.31); assert.labEqual(d3.interpolateLab("steelblue", d3.rgb(255, 0, 0))(.6), 52.93, 46.42, 27.45); }, "interpolates in HSL color space": function(d3) { assert.labEqual(d3.interpolateLab("steelblue", "#f00")(.2), 52.62, 12.76, -12.31); }, "returns an instanceof d3.lab": function(d3) { assert.labEqual(d3.interpolateLab("steelblue", "#f00")(.2), 52.62, 12.76, -12.31); } } }); suite.export(module);