123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- import localHooks from 'handsontable/mixins/localHooks';
- describe('localHooks mixin', () => {
- it('should have empty collection on init', () => {
- expect(localHooks._localHooks).toEqual(jasmine.any(Object));
- });
- it('should add local hook to the hooks collection', () => {
- var callback = function() {};
- var callback1 = function() {};
- var callback2 = function() {};
- localHooks.addLocalHook('myHook', callback);
- localHooks.addLocalHook('myHook', callback);
- localHooks.addLocalHook('myHook', callback1);
- localHooks.addLocalHook('myHook1', callback2);
- expect(localHooks._localHooks.myHook.length).toBe(3);
- expect(localHooks._localHooks.myHook[0]).toBe(callback);
- expect(localHooks._localHooks.myHook[1]).toBe(callback);
- expect(localHooks._localHooks.myHook[2]).toBe(callback1);
- expect(localHooks._localHooks.myHook1.length).toBe(1);
- expect(localHooks._localHooks.myHook1[0]).toBe(callback2);
- });
- it('should run local hooks registered in collection', () => {
- var callback = jasmine.createSpy();
- var callback1 = jasmine.createSpy();
- var callback2 = jasmine.createSpy();
- var myArray = [1, 2];
- localHooks._localHooks.myHook = [callback, callback1];
- localHooks._localHooks.myHook1 = [callback, callback2];
- localHooks.runLocalHooks('myHook');
- localHooks.runLocalHooks('myHook1', 'foo', 'bar', myArray);
- expect(callback.calls.count()).toBe(2);
- expect(callback.calls.argsFor(0)).toEqual([]);
- expect(callback.calls.argsFor(1)).toEqual(['foo', 'bar', [1, 2]]);
- expect(callback).toHaveBeenCalled();
- expect(callback2).toHaveBeenCalledWith('foo', 'bar', [1, 2]);
- });
- it('should clear all registered hooks from collection', () => {
- var callback = jasmine.createSpy();
- var callback1 = jasmine.createSpy();
- var callback2 = jasmine.createSpy();
- localHooks._localHooks.myHook = [callback, callback1];
- localHooks._localHooks.myHook1 = [callback, callback2];
- localHooks.clearLocalHooks();
- expect(localHooks._localHooks).toEqual(jasmine.any(Object));
- });
- });
|