/* eslint-disable */ /* global $, describe, it, xit, xdescribe, after, afterEach, expect*/ describe("flot legend plugin", function() { var placeholder, plot; var options, legendContainer, legendSettings beforeEach(function() { var legendSettings = { position: "nw", show: true, container: null }; options = { legend: legendSettings, series: { shadowSize: 0, // don't draw shadows } }; placeholder = setFixtures('
') .find('#test-container'); }); var positions = ['nw', 'ne', 'sw', 'se']; positions.forEach(function (pos) { it ('shold draw a legend over graph at cardinal position: ' + pos + ', if a container is not provided', function () { options.legend.position = pos; plot = $.plot(placeholder, [[1, 3, 5, 6]], options); var legend = document.getElementsByClassName('legend')[0]; expect(legend.style.position).toBe('absolute'); switch (pos) { case "nw": expect(legend.style.top).toContain('px') expect(legend.style.bottom).toBe(''); expect(legend.style.left).toContain('px') expect(legend.style.right).toBe(''); break; case "ne": expect(legend.style.top).toContain('px') expect(legend.style.bottom).toBe(''); expect(legend.style.left).toBe(''); expect(legend.style.right).toContain('px') break; case "sw": expect(legend.style.top).toBe(''); expect(legend.style.bottom).toContain('px') expect(legend.style.left).toContain('px') expect(legend.style.right).toBe(''); break; case "se": expect(legend.style.top).toBe(''); expect(legend.style.bottom).toContain('px') expect(legend.style.left).toBe(''); expect(legend.style.right).toContain('px') break; } }); }); it('should draw the legend inside the container if one is provided', function(){ var legendContainer = document.createElement("div"); document.body.appendChild(legendContainer); options.legend.container = legendContainer; plot = $.plot(placeholder, [[1, 3, 5, 6]], options); expect(legendContainer.style.width).toContain('em'); expect(legendContainer.style.height).toContain('em'); document.body.removeChild(legendContainer); }); it('should assign a default plot label if none is provided', function(){ plot = $.plot(placeholder, [[1, 3, 5, 6]], options); var legendSvg = document.getElementsByClassName('legendLayer')[0]; var firstLegendEntry = legendSvg.getElementsByTagNameNS('http://www.w3.org/2000/svg', 'g')[0]; var entryLabel = firstLegendEntry.getElementsByTagNameNS('http://www.w3.org/2000/svg', 'text')[0]; expect(entryLabel.textContent).toBe('Plot 1'); }); it('should display the plot label', function(){ var label = 'custom label'; options.series.label = label; plot = $.plot(placeholder, [[1, 3, 5, 6]], options); var legendSvg = document.getElementsByClassName('legendLayer')[0]; var firstLegendEntry = legendSvg.getElementsByTagNameNS('http://www.w3.org/2000/svg', 'g')[0]; var entryLabel = firstLegendEntry.getElementsByTagNameNS('http://www.w3.org/2000/svg', 'text')[0]; expect(entryLabel.textContent).toBe(label); }); it('should take into account the show option', function() { options.legend.show = false; plot = $.plot(placeholder, [[1, 3, 5, 6]], options); var legendSvg = document.getElementsByClassName('legendLayer')[0]; expect(legendSvg).toBe(undefined); }); });