Skip to content

Commit 4c46a73

Browse files
committed
fix finance tests - with a couple of bugfixes too
1 parent 3870503 commit 4c46a73

File tree

4 files changed

+279
-393
lines changed

4 files changed

+279
-393
lines changed

src/lib/coerce.js

+1-3
Original file line numberDiff line numberDiff line change
@@ -433,9 +433,7 @@ exports.coerceFont = function(coerce, attr, dfltObj) {
433433
*/
434434
exports.coerceHoverinfo = function(traceIn, traceOut, layoutOut) {
435435
var moduleAttrs = traceOut._module.attributes;
436-
var attrs = moduleAttrs.hoverinfo ?
437-
{hoverinfo: moduleAttrs.hoverinfo} :
438-
baseTraceAttrs;
436+
var attrs = moduleAttrs.hoverinfo ? moduleAttrs : baseTraceAttrs;
439437

440438
var valObj = attrs.hoverinfo;
441439
var dflt;

src/traces/ohlc/calc.js

+9-2
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ function calcCommon(gd, trace, x, ya, ptFunc) {
5959

6060
// we're optimists - before we have any changing data, assume increasing
6161
var increasing = true;
62+
var cPrev = null;
6263

6364
var cd = [];
6465
for(var i = 0; i < x.length; i++) {
@@ -69,8 +70,14 @@ function calcCommon(gd, trace, x, ya, ptFunc) {
6970
var ci = c[i];
7071

7172
if(xi !== undefined && oi !== undefined && hi !== undefined && li !== undefined && ci !== undefined) {
72-
// increasing carries over from previous if ci===oi
73-
increasing = (ci === oi) ? increasing : ci > oi;
73+
if(ci === oi) {
74+
// if open == close, look for a change from the previous close
75+
if(cPrev !== null && ci !== cPrev) increasing = ci > cPrev;
76+
// else (c === cPrev or cPrev is null) no change
77+
}
78+
else increasing = ci > oi;
79+
80+
cPrev = ci;
7481

7582
var pt = ptFunc(oi, hi, li, ci);
7683

src/traces/ohlc/hover.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ module.exports = function hoverPoints(pointData, xval, yval, hovermode) {
2525
var trace = cd[0].trace;
2626
var t = cd[0].t;
2727

28+
var type = trace.type;
29+
var minAttr = type === 'ohlc' ? 'l' : 'min';
30+
var maxAttr = type === 'ohlc' ? 'h' : 'max';
31+
2832
// potentially shift xval for grouped candlesticks
2933
var centerShift = t.bPos || 0;
3034
var x0 = xval - centerShift;
@@ -44,7 +48,7 @@ module.exports = function hoverPoints(pointData, xval, yval, hovermode) {
4448
}
4549

4650
function dy(di) {
47-
return Fx.inbox(di.min - yval, di.max - yval, hoverPseudoDistance);
51+
return Fx.inbox(di[minAttr] - yval, di[maxAttr] - yval, hoverPseudoDistance);
4852
}
4953

5054
function dxy(di) { return (dx(di) + dy(di)) / 2; }

0 commit comments

Comments
 (0)