if (labelMoment) {
var offset = labelMoment.diff(me.firstTick, me.tickUnit, true);
- var decimal = offset / me.scaleSizeInUnits;
+ var decimal = offset !== 0 ? offset / me.scaleSizeInUnits : offset;
if (me.isHorizontal()) {
var innerWidth = me.width - (me.paddingLeft + me.paddingRight);
expect(xScale.getLabelForIndex(6, 0)).toBe('2015-01-10T12:00');
});
+ it('should get the correct pixel for only one data in the dataset', function() {
+ var chart = window.acquireChart({
+ type: 'line',
+ data: {
+ labels: ["2016-05-27"],
+ datasets: [{
+ type: "line",
+ data: [5]
+ }]
+ },
+ options: {
+ scales: {
+ xAxes: [{
+ display: true,
+ type: "time",
+ time: {
+ displayFormats: {
+ "day": "YYYY-MM-DD"
+ }
+ }
+ }],
+ yAxes: [{
+ type: "linear",
+ ticks: {
+ reverse: true,
+ min: 0,
+ max: 10
+ }
+ }]
+ }
+ }
+ });
+
+ var xScale = chartInstance.scales.xScale0;
+
+ expect(xScale.getPixelForValue('', 0, 0)).toBeCloseToPixel(78);
+
+ expect(xScale.getValueForPixel(78)).toBeCloseToTime({
+ value: moment(chartInstance.data.labels[0]),
+ unit: 'day',
+ threshold: 0.75
+ });
+ });
});