UNPKG

bootstrap-vue

Version:

With more than 85 components, over 45 available plugins, several directives, and 1000+ icons, BootstrapVue provides one of the most comprehensive implementations of the Bootstrap v4 component and grid system available for Vue.js v2.6, complete with extens

64 lines (50 loc) 2.09 kB
import normalizeSlot from './normalize-slot' describe('utils/normalizeSlot', () => { it('works', async () => { const $scoped = { default(slotScope) { return 'foo' + (slotScope.a || '') } } const $slots = { default: 'bar' } expect(typeof normalizeSlot).toBe('function') // Prefers scopedSlots over slots let result = normalizeSlot('default', {}, $scoped, $slots) expect(result).toBe('foo') // Passes slot scope to scopedSlot result = normalizeSlot('default', { a: ' foo' }, $scoped, $slots) expect(result).toBe('foo foo') // Uses named slot if scopedSlot not found result = normalizeSlot('default', {}, {}, $slots) expect(result).toBe('bar') // Works if only named slot found result = normalizeSlot('default', { a: ' foo' }, {}, $slots) expect(result).toBe('bar') // Works if only named slot found and scopedSlots is undef result = normalizeSlot('default', { a: ' foo' }, undefined, $slots) expect(result).toBe('bar') // Works if only scoped slot found result = normalizeSlot('default', { a: ' bar' }, $scoped, {}) expect(result).toBe('foo bar') // Works if only scoped slot found and scoped is undef result = normalizeSlot('default', { a: ' bar' }, $scoped, undefined) expect(result).toBe('foo bar') // Returns undefined if slot name not found result = normalizeSlot('default', {}, {}, {}) expect(result).not.toBeDefined() // Returns undefined if slot name not found result = normalizeSlot('baz', {}, $scoped, $slots) expect(result).not.toBeDefined() // Works with array (named slot) result = normalizeSlot(['none', 'default'], { a: ' foo' }, undefined, $slots) expect(result).toBe('bar') // Works with arrays (scoped slot) result = normalizeSlot(['none', 'default'], { a: ' bar' }, $scoped, {}) expect(result).toBe('foo bar') // Returns undefined if slot name not found with array result = normalizeSlot(['baz', 'bar'], {}, $scoped, $slots) expect(result).not.toBeDefined() }) })