MCPcopy
hub / github.com/chartjs/Chart.js / testSlice

Function testSlice

test/specs/plugin.tooltip.tests.js:1192–1220  ·  test/specs/plugin.tooltip.tests.js::testSlice
(slice, count)

Source from the content-addressed store, hash-verified

1190 });
1191
1192 async function testSlice(slice, count) {
1193 var meta = chart.getDatasetMeta(0);
1194 var point = meta.data[slice].getCenterPoint();
1195 var tooltipPosition = meta.data[slice].tooltipPosition();
1196
1197 async function recursive(left) {
1198 chart.config.data.labels[slice] = chart.config.data.labels[slice] + class="st">'XX';
1199 chart.update();
1200
1201 await jasmine.triggerMouseEvent(chart, class="st">'mouseout', point);
1202 await jasmine.triggerMouseEvent(chart, class="st">'mousemove', point);
1203 var tooltip = chart.tooltip;
1204 expect(tooltip.dataPoints.length).toBe(1);
1205 expect(tooltip.x).toBeGreaterThanOrEqual(0);
1206 if (tooltip.width <= chart.width) {
1207 expect(tooltip.x + tooltip.width).toBeLessThanOrEqual(chart.width);
1208 }
1209 expect(tooltip.caretX).toBeCloseToPixel(tooltipPosition.x);
1210 class="cm">// if tooltip is longer than chart area then all tests done
1211 if (left === 0) {
1212 throw new Error(class="st">'max iterations reached');
1213 }
1214 if (tooltip.width < chart.width) {
1215 await recursive(left - 1);
1216 }
1217 }
1218
1219 await recursive(count);
1220 }
1221
1222 class="cm">// Trigger an event over top of the slice
1223 for (var slice = 0; slice < 2; slice++) {

Callers 1

Calls 4

recursiveFunction · 0.85
getDatasetMetaMethod · 0.80
getCenterPointMethod · 0.65
tooltipPositionMethod · 0.45

Tested by

no test coverage detected