HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/buyercall/node_modules/bootstrap-vue/src/utils/bv-event.class.spec.js
import { BvEvent } from './bv-event.class'

describe('utils/BvEvent class', () => {
  it('works', async () => {
    const event = new BvEvent('foobar')
    expect(event).toBeInstanceOf(BvEvent)
    expect(event.type).toBe('foobar')
  })

  it('throws exception if no type given', async () => {
    let event = null
    let failed = false
    try {
      event = new BvEvent()
    } catch (e) {
      failed = true
    }
    expect(event).not.toBeInstanceOf(BvEvent)
    expect(event).toBe(null)
    expect(failed).toBe(true)
  })

  it('supports cancelable events', async () => {
    const event = new BvEvent('foobar', {
      cancelable: true
    })
    expect(event).toBeInstanceOf(BvEvent)
    expect(event.type).toBe('foobar')
    expect(event.cancelable).toBe(true)
    expect(event.defaultPrevented).toBe(false)
    event.preventDefault()
    expect(event.defaultPrevented).toBe(true)
  })

  it('supports non cancelable events', async () => {
    const event = new BvEvent('foobar', {
      cancelable: false
    })
    expect(event).toBeInstanceOf(BvEvent)
    expect(event.type).toBe('foobar')
    expect(event.cancelable).toBe(false)
    expect(event.defaultPrevented).toBe(false)
    event.preventDefault()
    expect(event.defaultPrevented).toBe(false)
  })

  it('supports built in properties', async () => {
    const event = new BvEvent('foobar', {
      target: 'baz'
    })
    expect(event).toBeInstanceOf(BvEvent)
    expect(event.type).toBe('foobar')
    expect(event.cancelable).toBe(true)
    expect(event.target).toBe('baz')
  })

  it('supports custom properties', async () => {
    const event = new BvEvent('foobar', {
      custom: 123
    })
    expect(event).toBeInstanceOf(BvEvent)
    expect(event.type).toBe('foobar')
    expect(event.cancelable).toBe(true)
    expect(event.custom).toBe(123)
  })
})