* exclude 0 angle from inRange to not showing tooltip when all data are hidden
Signed-off-by: Hu, Vince <Qingkun.Hu@fmr.com>
* test 0 angle point not in arc range
---------
Signed-off-by: Hu, Vince <Qingkun.Hu@fmr.com>
], useFinalPosition);
const rAdjust = (this.options.spacing + this.options.borderWidth) / 2;
const _circumference = valueOrDefault(circumference, endAngle - startAngle);
- const betweenAngles = _circumference >= TAU || _angleBetween(angle, startAngle, endAngle);
+ const nonZeroBetween = _angleBetween(angle, startAngle, endAngle) && startAngle !== endAngle;
+ const betweenAngles = _circumference >= TAU || nonZeroBetween;
const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust);
return (betweenAngles && withinRadius);
expect(ctx.getCalls().length).toBeGreaterThan(0);
});
+
+ it ('should determine not in range when angle 0', function() {
+ // Mock out the arc as if the controller put it there
+ var arc = new Chart.elements.ArcElement({
+ startAngle: 0,
+ endAngle: 0,
+ x: 0,
+ y: 0,
+ innerRadius: 0,
+ outerRadius: 10,
+ circumference: 0,
+ options: {
+ spacing: 0,
+ offset: 0,
+ borderWidth: 0
+ }
+ });
+
+ var center = arc.getCenterPoint();
+
+ expect(arc.inRange(center.x, 1)).toBe(false);
+ });
});