/**
* @fileoverview Test cases for the option "stepPlot" especially for the scenario where the option is not set for the whole graph but for single series.
*
+ * TODO(danvk): delete this test once dpxdt screenshot tests are part of the
+ * main dygraphs repo. The tests have extremely specific expectations about
+ * how drawing is performed. It's more realistic to test the resulting
+ * pixels.
+ *
* @author julian.eichstaedt@ch.sauter-bc.com (Fr. Sauter AG)
*/
-var StepTestCase = TestCase("step_plot_per_series");
+var StepTestCase = TestCase("step-plot-per-series");
StepTestCase.prototype.setUp = function() {
document.body.innerHTML = "<div id='graph'></div>";
var opts = {
width: 480,
height: 320,
- drawXGrid: false,
- drawYGrid: false,
- drawXAxis: false,
- drawYAxis: false,
+ axes : {
+ x : {
+ drawGrid: false,
+ drawAxis: false,
+ },
+ y : {
+ drawGrid: false,
+ drawAxis: false,
+ }
+ },
errorBars: false,
labels: ["X", "Idle", "Used"],
series: {
var opts = {
width: 480,
height: 320,
- drawXGrid: false,
- drawYGrid: false,
- drawXAxis: false,
- drawYAxis: false,
+ axes : {
+ x : {
+ drawGrid: false,
+ drawAxis: false,
+ },
+ y : {
+ drawGrid: false,
+ drawAxis: false,
+ }
+ },
errorBars: false,
labels: ["X", "Idle", "Used", "NotUsed", "Active"],
series: {
var y1 = data[i][4];
var y2 = data[i + 1][4];
-
// Fourth series (step)
// Test lines
// Horizontal line
CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
xy1 = xy2;
xy2 = g.toDomCoords(x2, y2base);
- CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
+ // CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
xy1 = xy2;
xy2 = g.toDomCoords(x1, y1base);
CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
- xy1 = xy2;
- xy2 = g.toDomCoords(x1, y1);
- CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
+ // The last edge can not be tested via assertLineDrawn since it wasn't drawn as a line but via clossePath.
+ // But a rectangle is completely tested with three of its four edges.
y1base = y1;
- y2base = y2;
+ y2base = y1;
y1 += data[i][3];
y2 += data[i + 1][3];
CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
xy1 = xy2;
xy2 = g.toDomCoords(x2, y2base);
- CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
+ // CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
xy1 = xy2;
xy2 = g.toDomCoords(x1, y1base);
CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
- xy1 = xy2;
- xy2 = g.toDomCoords(x1, y1);
- CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
+ // The last edge can not be tested via assertLineDrawn since it wasn't drawn as a line but via clossePath.
+ // But a rectangle is completely tested with three of its four edges.
y1base = y1;
y2base = y2;
CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
xy1 = xy2;
xy2 = g.toDomCoords(x2, y2base);
- CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
+ // CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
xy1 = xy2;
xy2 = g.toDomCoords(x1, y1base);
CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
- xy1 = xy2;
- xy2 = g.toDomCoords(x1, y1);
- CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
+ // The last edge can not be tested via assertLineDrawn since it wasn't drawn as a line but via clossePath.
+ // But a rectangle is completely tested with three of its four edges.
y1base = y1;
- y2base = y2;
+ y2base = y1;
y1 += data[i][1];
y2 += data[i + 1][1];
CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
xy1 = xy2;
xy2 = g.toDomCoords(x2, y2base);
- CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
+ // CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
xy1 = xy2;
xy2 = g.toDomCoords(x1, y1base);
CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
- xy1 = xy2;
- xy2 = g.toDomCoords(x1, y1);
- CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
+ // The last edge can not be tested via assertLineDrawn since it wasn't drawn as a line but via clossePath.
+ // But a rectangle is completely tested with three of its four edges.
}
};
var opts = {
width: 480,
height: 320,
- drawXGrid: false,
- drawYGrid: false,
- drawXAxis: false,
- drawYAxis: false,
+ axes : {
+ x : {
+ drawGrid: false,
+ drawAxis: false,
+ },
+ y : {
+ drawGrid: false,
+ drawAxis: false,
+ }
+ },
errorBars: true,
sigma: 1,
labels: ["X", "Data1", "Data2"],
var y1_bottom = y1_middle - data[i][1][1];
var y2_bottom = y2_middle - data[i + 1][1][1];
// Bottom line
- // Horizontal line
var xy1 = g.toDomCoords(x1, y1_bottom);
var xy2 = g.toDomCoords(x2, y1_bottom);
CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
- // Vertical line
- xy1 = g.toDomCoords(x2, y1_bottom);
- xy2 = g.toDomCoords(x2, y2_bottom);
- CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
// Top line
- // Horizontal line
xy1 = g.toDomCoords(x1, y1_top);
xy2 = g.toDomCoords(x2, y1_top);
CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
- // Vertical line
- xy1 = g.toDomCoords(x2, y1_top);
- xy2 = g.toDomCoords(x2, y2_top);
- CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
// Middle line
- // Horizontal line
xy1 = g.toDomCoords(x1, y1_middle);
xy2 = g.toDomCoords(x2, y1_middle);
CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
- // Vertical line
- xy1 = g.toDomCoords(x2, y1_middle);
- xy2 = g.toDomCoords(x2, y2_middle);
+
+ // Test edges of error bar areas(also drawn by dygraphs as lines)
+ xy1 = g.toDomCoords(x1, y1_top);
+ xy2 = g.toDomCoords(x2, y1_top);
+ CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
+ xy1 = xy2;
+ xy2 = g.toDomCoords(x2, y1_bottom);
CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
+ xy1 = xy2;
+ xy2 = g.toDomCoords(x1, y1_bottom);
+ CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
+ // The last edge can not be tested via assertLineDrawn since it wasn't drawn as a line but via clossePath.
+ // But a rectangle is completely tested with three of its four edges.
}
// Test second series (line)
var opts = {
width: 480,
height: 320,
- drawXGrid: false,
- drawYGrid: false,
- drawXAxis: false,
- drawYAxis: false,
+ axes : {
+ x : {
+ drawGrid: false,
+ drawAxis: false,
+ },
+ y : {
+ drawGrid: false,
+ drawAxis: false,
+ }
+ },
customBars: true,
labels: ["X", "Data1", "Data2"],
series: {
var y2_bottom = data[i + 1][1][0];
// Bottom line
- // Horizontal line
var xy1 = g.toDomCoords(x1, y1_bottom);
var xy2 = g.toDomCoords(x2, y1_bottom);
CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
- // Vertical line
- xy1 = g.toDomCoords(x2, y1_middle);
- xy2 = g.toDomCoords(x2, y2_middle);
- CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
// Top line
- // Horizontal line
xy1 = g.toDomCoords(x1, y1_top);
xy2 = g.toDomCoords(x2, y1_top);
CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
- // Vertical line
- xy1 = g.toDomCoords(x2, y1_middle);
- xy2 = g.toDomCoords(x2, y2_middle);
- CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
// Middle line
- // Horizontal line
xy1 = g.toDomCoords(x1, y1_middle);
xy2 = g.toDomCoords(x2, y1_middle);
CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
- // Vertical line
- xy1 = g.toDomCoords(x2, y1_middle);
- xy2 = g.toDomCoords(x2, y2_middle);
+
+ // Test edges of custom bar areas(also drawn by dygraphs as lines)
+ xy1 = g.toDomCoords(x1, y1_top);
+ xy2 = g.toDomCoords(x2, y1_top);
+ CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
+ xy1 = xy2;
+ xy2 = g.toDomCoords(x2, y1_bottom);
+ CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
+ xy1 = xy2;
+ xy2 = g.toDomCoords(x1, y1_bottom);
CanvasAssertions.assertLineDrawn(htx, xy1, xy2, attrs);
+ // The last edge can not be tested via assertLineDrawn since it wasn't drawn as a line but via clossePath.
+ // But a rectangle is completely tested with three of its four edges.
}
// Test second series (line)