Skip to content

Commit 0d80a21

Browse files
committed
fix #2510 - or rather, revive the test that the refactor fixed this
1 parent 2554482 commit 0d80a21

File tree

1 file changed

+46
-52
lines changed

1 file changed

+46
-52
lines changed

test/jasmine/tests/plot_api_test.js

+46-52
Original file line numberDiff line numberDiff line change
@@ -2781,58 +2781,52 @@ describe('Test plot api', function() {
27812781
.then(done);
27822782
});
27832783

2784-
// it('has the right internal state after altering candlesticks', function(done) {
2785-
// var trace = {
2786-
// type: 'candlestick',
2787-
// low: [1],
2788-
// open: [2],
2789-
// close: [3],
2790-
// high: [4]
2791-
// };
2792-
// Plotly.newPlot(gd, [trace])
2793-
// .then(function() {
2794-
// expect(gd._fullData[0].y).toEqual([1, 2, 3, 3, 3, 4]);
2795-
// return Plotly.react(gd, [trace]);
2796-
// })
2797-
// .then(function() {
2798-
// // the plot actually *looks* correct here, but this is the simplest
2799-
// // manifestation of https://github.com/plotly/plotly.js/issues/2510
2800-
// expect(gd._fullData[0].y).toEqual([1, 2, 3, 3, 3, 4]);
2801-
// })
2802-
// .catch(failTest)
2803-
// .then(done);
2804-
// });
2805-
2806-
// it('can change data in candlesticks multiple times', function(done) {
2807-
// var trace = {
2808-
// type: 'candlestick',
2809-
// low: [1],
2810-
// open: [2],
2811-
// close: [3],
2812-
// high: [4]
2813-
// };
2814-
// Plotly.newPlot(gd, [trace])
2815-
// .then(function() {
2816-
// expect(gd._fullData[0].y).toEqual([1, 2, 3, 3, 3, 4]);
2817-
2818-
// trace.low = [0];
2819-
// return Plotly.react(gd, [trace]);
2820-
// })
2821-
// .then(function() {
2822-
// expect(gd._fullData[0].y).toEqual([0, 2, 3, 3, 3, 4]);
2823-
2824-
// trace.low = [-1];
2825-
// return Plotly.react(gd, [trace]);
2826-
// })
2827-
// .then(function() {
2828-
// expect(gd._fullData[0].y).toEqual([-1, 2, 3, 3, 3, 4]);
2829-
2830-
// trace.low = [0];
2831-
// return Plotly.react(gd, [trace]);
2832-
// })
2833-
// .catch(failTest)
2834-
// .then(done);
2835-
// });
2784+
it('can change data in candlesticks multiple times', function(done) {
2785+
// test that we've fixed the original issue in
2786+
// https://github.com/plotly/plotly.js/issues/2510
2787+
2788+
function assertCalc(open, high, low, close) {
2789+
expect(gd.calcdata[0][0]).toEqual(jasmine.objectContaining({
2790+
min: low,
2791+
max: high,
2792+
med: close,
2793+
q1: Math.min(open, close),
2794+
q3: Math.max(open, close),
2795+
dir: close >= open ? 'increasing' : 'decreasing'
2796+
}));
2797+
}
2798+
var trace = {
2799+
type: 'candlestick',
2800+
low: [1],
2801+
open: [2],
2802+
close: [3],
2803+
high: [4]
2804+
};
2805+
Plotly.newPlot(gd, [trace])
2806+
.then(function() {
2807+
assertCalc(2, 4, 1, 3);
2808+
2809+
trace.low = [0];
2810+
return Plotly.react(gd, [trace]);
2811+
})
2812+
.then(function() {
2813+
assertCalc(2, 4, 0, 3);
2814+
2815+
trace.low = [-1];
2816+
return Plotly.react(gd, [trace]);
2817+
})
2818+
.then(function() {
2819+
assertCalc(2, 4, -1, 3);
2820+
2821+
trace.close = [1];
2822+
return Plotly.react(gd, [trace]);
2823+
})
2824+
.then(function() {
2825+
assertCalc(2, 4, -1, 1);
2826+
})
2827+
.catch(failTest)
2828+
.then(done);
2829+
});
28362830

28372831
it('can change frames without redrawing', function(done) {
28382832
var data = [{y: [1, 2, 3]}];

0 commit comments

Comments
 (0)