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
83 lines (75 loc) • 2.29 kB
JavaScript
import { BvEvent } from '../../../utils/bv-event.class'
import { BvModalEvent } from './bv-modal-event.class'
describe('modal > BvModalEvent', () => {
it('works', async () => {
const evt = new BvModalEvent('foobar')
expect(evt).toBeInstanceOf(BvModalEvent)
expect(evt).toBeInstanceOf(BvEvent)
expect(evt.type).toBe('foobar')
})
it('throws exception if no type given', async () => {
let evt = null
let failed = false
try {
evt = new BvModalEvent()
} catch (e) {
failed = true
}
expect(evt).not.toBeInstanceOf(BvModalEvent)
expect(evt).not.toBeInstanceOf(BvEvent)
expect(evt).toBe(null)
expect(failed).toBe(true)
})
it('supports cancelable events via evt.preventDefault()', async () => {
const evt = new BvModalEvent('foobar', {
cancelable: true
})
expect(evt).toBeInstanceOf(BvModalEvent)
expect(evt.type).toBe('foobar')
expect(evt.cancelable).toBe(true)
expect(evt.defaultPrevented).toBe(false)
evt.preventDefault()
expect(evt.defaultPrevented).toBe(true)
})
it('supports non cancelable events', async () => {
const evt = new BvModalEvent('foobar', {
cancelable: false
})
expect(evt).toBeInstanceOf(BvModalEvent)
expect(evt.type).toBe('foobar')
expect(evt.cancelable).toBe(false)
expect(evt.defaultPrevented).toBe(false)
evt.preventDefault()
expect(evt.defaultPrevented).toBe(false)
})
it('supports built in properties', async () => {
const evt = new BvModalEvent('foobar', {
target: 'baz',
trigger: 'ok',
componentId: 'foo'
})
expect(evt).toBeInstanceOf(BvModalEvent)
expect(evt.type).toBe('foobar')
expect(evt.cancelable).toBe(true)
expect(evt.target).toBe('baz')
expect(evt.trigger).toBe('ok')
expect(evt.componentId).toBe('foo')
let failed = false
try {
evt.trigger = 'foobar'
} catch (e) {
failed = true
}
expect(failed).toBe(true)
expect(evt.trigger).toBe('ok')
})
it('supports custom properties', async () => {
const evt = new BvEvent('foobar', {
custom: 123
})
expect(evt).toBeInstanceOf(BvEvent)
expect(evt.type).toBe('foobar')
expect(evt.cancelable).toBe(true)
expect(evt.custom).toBe(123)
})
})