diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2019-12-20 18:07:34 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2019-12-20 18:07:34 +0300 |
commit | 8b61452138ecc511b52cd49be4ee6b8a80390c50 (patch) | |
tree | 122b817432c2a0f0e23767bd95791a89b20540c0 /spec/javascripts/behaviors | |
parent | f864f8a7aafa45b0e4c04e4312f89da4b1227c0f (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/javascripts/behaviors')
-rw-r--r-- | spec/javascripts/behaviors/bind_in_out_spec.js | 192 |
1 files changed, 0 insertions, 192 deletions
diff --git a/spec/javascripts/behaviors/bind_in_out_spec.js b/spec/javascripts/behaviors/bind_in_out_spec.js deleted file mode 100644 index 0c214f5886a..00000000000 --- a/spec/javascripts/behaviors/bind_in_out_spec.js +++ /dev/null @@ -1,192 +0,0 @@ -import BindInOut from '~/behaviors/bind_in_out'; -import ClassSpecHelper from '../helpers/class_spec_helper'; - -describe('BindInOut', function() { - describe('constructor', function() { - beforeEach(function() { - this.in = {}; - this.out = {}; - - this.bindInOut = new BindInOut(this.in, this.out); - }); - - it('should set .in', function() { - expect(this.bindInOut.in).toBe(this.in); - }); - - it('should set .out', function() { - expect(this.bindInOut.out).toBe(this.out); - }); - - it('should set .eventWrapper', function() { - expect(this.bindInOut.eventWrapper).toEqual({}); - }); - - describe('if .in is an input', function() { - beforeEach(function() { - this.bindInOut = new BindInOut({ tagName: 'INPUT' }); - }); - - it('should set .eventType to keyup ', function() { - expect(this.bindInOut.eventType).toEqual('keyup'); - }); - }); - - describe('if .in is a textarea', function() { - beforeEach(function() { - this.bindInOut = new BindInOut({ tagName: 'TEXTAREA' }); - }); - - it('should set .eventType to keyup ', function() { - expect(this.bindInOut.eventType).toEqual('keyup'); - }); - }); - - describe('if .in is not an input or textarea', function() { - beforeEach(function() { - this.bindInOut = new BindInOut({ tagName: 'SELECT' }); - }); - - it('should set .eventType to change ', function() { - expect(this.bindInOut.eventType).toEqual('change'); - }); - }); - }); - - describe('addEvents', function() { - beforeEach(function() { - this.in = jasmine.createSpyObj('in', ['addEventListener']); - - this.bindInOut = new BindInOut(this.in); - - this.addEvents = this.bindInOut.addEvents(); - }); - - it('should set .eventWrapper.updateOut', function() { - expect(this.bindInOut.eventWrapper.updateOut).toEqual(jasmine.any(Function)); - }); - - it('should call .addEventListener', function() { - expect(this.in.addEventListener).toHaveBeenCalledWith( - this.bindInOut.eventType, - this.bindInOut.eventWrapper.updateOut, - ); - }); - - it('should return the instance', function() { - expect(this.addEvents).toBe(this.bindInOut); - }); - }); - - describe('updateOut', function() { - beforeEach(function() { - this.in = { value: 'the-value' }; - this.out = { textContent: 'not-the-value' }; - - this.bindInOut = new BindInOut(this.in, this.out); - - this.updateOut = this.bindInOut.updateOut(); - }); - - it('should set .out.textContent to .in.value', function() { - expect(this.out.textContent).toBe(this.in.value); - }); - - it('should return the instance', function() { - expect(this.updateOut).toBe(this.bindInOut); - }); - }); - - describe('removeEvents', function() { - beforeEach(function() { - this.in = jasmine.createSpyObj('in', ['removeEventListener']); - this.updateOut = () => {}; - - this.bindInOut = new BindInOut(this.in); - this.bindInOut.eventWrapper.updateOut = this.updateOut; - - this.removeEvents = this.bindInOut.removeEvents(); - }); - - it('should call .removeEventListener', function() { - expect(this.in.removeEventListener).toHaveBeenCalledWith( - this.bindInOut.eventType, - this.updateOut, - ); - }); - - it('should return the instance', function() { - expect(this.removeEvents).toBe(this.bindInOut); - }); - }); - - describe('initAll', function() { - beforeEach(function() { - this.ins = [0, 1, 2]; - this.instances = []; - - spyOn(document, 'querySelectorAll').and.returnValue(this.ins); - spyOn(Array.prototype, 'map').and.callThrough(); - spyOn(BindInOut, 'init'); - - this.initAll = BindInOut.initAll(); - }); - - ClassSpecHelper.itShouldBeAStaticMethod(BindInOut, 'initAll'); - - it('should call .querySelectorAll', function() { - expect(document.querySelectorAll).toHaveBeenCalledWith('*[data-bind-in]'); - }); - - it('should call .map', function() { - expect(Array.prototype.map).toHaveBeenCalledWith(jasmine.any(Function)); - }); - - it('should call .init for each element', function() { - expect(BindInOut.init.calls.count()).toEqual(3); - }); - - it('should return an array of instances', function() { - expect(this.initAll).toEqual(jasmine.any(Array)); - }); - }); - - describe('init', function() { - beforeEach(function() { - spyOn(BindInOut.prototype, 'addEvents').and.callFake(function() { - return this; - }); - spyOn(BindInOut.prototype, 'updateOut').and.callFake(function() { - return this; - }); - - this.init = BindInOut.init({}, {}); - }); - - ClassSpecHelper.itShouldBeAStaticMethod(BindInOut, 'init'); - - it('should call .addEvents', function() { - expect(BindInOut.prototype.addEvents).toHaveBeenCalled(); - }); - - it('should call .updateOut', function() { - expect(BindInOut.prototype.updateOut).toHaveBeenCalled(); - }); - - describe('if no anOut is provided', function() { - beforeEach(function() { - this.anIn = { dataset: { bindIn: 'the-data-bind-in' } }; - - spyOn(document, 'querySelector'); - - BindInOut.init(this.anIn); - }); - - it('should call .querySelector', function() { - expect(document.querySelector).toHaveBeenCalledWith( - `*[data-bind-out="${this.anIn.dataset.bindIn}"]`, - ); - }); - }); - }); -}); |