OwlCyberSecurity - MANAGER
Edit File: split.spec.js
/* eslint-env jasmine */ /* global Split */ /* eslint-disable no-var, func-names, prefer-arrow-callback, object-shorthand, prefer-template */ describe('Split', function() { beforeEach(function() { document.body.style.width = '800px' document.body.style.height = '600px' this.a = document.createElement('div') this.b = document.createElement('div') this.c = document.createElement('div') this.a.id = 'a' this.b.id = 'b' this.c.id = 'c' document.body.appendChild(this.a) document.body.appendChild(this.b) document.body.appendChild(this.c) }) afterEach(function() { document.body.removeChild(this.a) document.body.removeChild(this.b) document.body.removeChild(this.c) }) it('splits in two when given two elements', function() { Split(['#a', '#b']) expect(this.a.style.width).toBe('50%') expect(this.b.style.width).toBe('50%') }) it('splits in three when given three elements', function() { Split(['#a', '#b', '#c']) expect(this.a.style.width).toBe('33.33%') expect(this.b.style.width).toBe('33.33%') expect(this.c.style.width).toBe('33.33%') }) it('splits vertically when direction is vertical', function() { Split(['#a', '#b'], { direction: 'vertical', }) expect(this.a.style.height).toBe('50%') expect(this.b.style.height).toBe('50%') }) it('splits in percentages when given sizes', function() { Split(['#a', '#b'], { sizes: [25, 75], }) expect(this.a.style.width).toBe('25%') expect(this.b.style.width).toBe('75%') }) it('splits in percentages when given sizes', function() { Split(['#a', '#b'], { sizes: [25, 75], }) expect(this.a.style.width).toBe('25%') expect(this.b.style.width).toBe('75%') }) it('accounts for gutter size', function() { Split(['#a', '#b'], { gutterSize: 20, }) expect(this.a.style.width).toBe('50%') expect(this.b.style.width).toBe('50%') }) it('accounts for gutter size with more than two elements', function() { Split(['#a', '#b', '#c'], { gutterSize: 20, }) expect(this.a.style.width).toBe('33.33%') expect(this.b.style.width).toBe('33.33%') expect(this.c.style.width).toBe('33.33%') }) it('accounts for gutter size when direction is vertical', function() { Split(['#a', '#b'], { direction: 'vertical', gutterSize: 20, }) expect(this.a.style.height).toBe('50%') expect(this.b.style.height).toBe('50%') }) it('accounts for gutter size with more than two elements when direction is vertical', function() { Split(['#a', '#b', '#c'], { direction: 'vertical', gutterSize: 20, }) expect(this.a.style.height).toBe('33.33%') expect(this.b.style.height).toBe('33.33%') expect(this.c.style.height).toBe('33.33%') }) it('set size directly when given css values', function() { Split(['#a', '#b'], { sizes: ['150px', '640px'], }) expect(this.a.style.width).toBe('150px') expect(this.b.style.width).toBe('640px') }) it('adjusts sizes using setSizes', function() { var split = Split(['#a', '#b']) split.setSizes([70, 30]) expect(this.a.style.width).toBe('70%') expect(this.b.style.width).toBe('30%') }) it('sets element styles using the elementStyle function', function() { Split(['#a', '#b'], { elementStyle: function(dimension, size) { return { width: size + '%', } }, }) expect(this.a.style.width).toBe('50%') expect(this.b.style.width).toBe('50%') }) })