| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- describe('Chart.elements.Point', function() {
- describe('auto', jasmine.fixture.specs('element.point'));
- it ('Should be constructed', function() {
- var point = new Chart.elements.Point({
- _datasetIndex: 2,
- _index: 1
- });
- expect(point).not.toBe(undefined);
- expect(point._datasetIndex).toBe(2);
- expect(point._index).toBe(1);
- });
- it ('Should correctly identify as in range', function() {
- var point = new Chart.elements.Point({
- _datasetIndex: 2,
- _index: 1
- });
- // Safely handles if these are called before the viewmodel is instantiated
- expect(point.inRange(5)).toBe(false);
- expect(point.inLabelRange(5)).toBe(false);
- // Attach a view object as if we were the controller
- point._view = {
- radius: 2,
- hitRadius: 3,
- x: 10,
- y: 15
- };
- expect(point.inRange(10, 15)).toBe(true);
- expect(point.inRange(10, 10)).toBe(false);
- expect(point.inRange(10, 5)).toBe(false);
- expect(point.inRange(5, 5)).toBe(false);
- expect(point.inLabelRange(5)).toBe(false);
- expect(point.inLabelRange(7)).toBe(true);
- expect(point.inLabelRange(10)).toBe(true);
- expect(point.inLabelRange(12)).toBe(true);
- expect(point.inLabelRange(15)).toBe(false);
- expect(point.inLabelRange(20)).toBe(false);
- });
- it ('should get the correct tooltip position', function() {
- var point = new Chart.elements.Point({
- _datasetIndex: 2,
- _index: 1
- });
- // Attach a view object as if we were the controller
- point._view = {
- radius: 2,
- borderWidth: 6,
- x: 10,
- y: 15
- };
- expect(point.tooltipPosition()).toEqual({
- x: 10,
- y: 15,
- padding: 8
- });
- });
- it('should get the correct area', function() {
- var point = new Chart.elements.Point({
- _datasetIndex: 2,
- _index: 1
- });
- // Attach a view object as if we were the controller
- point._view = {
- radius: 2,
- };
- expect(point.getArea()).toEqual(Math.PI * 4);
- });
- it('should get the correct center point', function() {
- var point = new Chart.elements.Point({
- _datasetIndex: 2,
- _index: 1
- });
- // Attach a view object as if we were the controller
- point._view = {
- radius: 2,
- x: 10,
- y: 10
- };
- expect(point.getCenterPoint()).toEqual({x: 10, y: 10});
- });
- it ('should draw correctly with default settings if necessary', function() {
- var mockContext = window.createMockContext();
- var point = new Chart.elements.Point({
- _datasetIndex: 2,
- _index: 1,
- _chart: {
- ctx: mockContext,
- }
- });
- // Attach a view object as if we were the controller
- point._view = {
- radius: 2,
- hitRadius: 3,
- x: 10,
- y: 15,
- ctx: mockContext
- };
- point.draw();
- expect(mockContext.getCalls()).toEqual([{
- name: 'setStrokeStyle',
- args: ['rgba(0,0,0,0.1)']
- }, {
- name: 'setLineWidth',
- args: [1]
- }, {
- name: 'setFillStyle',
- args: ['rgba(0,0,0,0.1)']
- }, {
- name: 'beginPath',
- args: []
- }, {
- name: 'arc',
- args: [10, 15, 2, 0, 2 * Math.PI]
- }, {
- name: 'closePath',
- args: [],
- }, {
- name: 'fill',
- args: [],
- }, {
- name: 'stroke',
- args: []
- }]);
- });
- it ('should not draw if skipped', function() {
- var mockContext = window.createMockContext();
- var point = new Chart.elements.Point({
- _datasetIndex: 2,
- _index: 1,
- _chart: {
- ctx: mockContext,
- }
- });
- // Attach a view object as if we were the controller
- point._view = {
- radius: 2,
- hitRadius: 3,
- x: 10,
- y: 15,
- ctx: mockContext,
- skip: true
- };
- point.draw();
- expect(mockContext.getCalls()).toEqual([]);
- });
- });
|