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
55 lines (42 loc) • 1.25 kB
JavaScript
import { warn } from './warn'
describe('utils/warn', () => {
const dummyWarning = 'This is a dummy warning.'
const dummySource = 'DummyComponent'
let originalProcess
beforeAll(() => {
jest.spyOn(console, 'warn').mockImplementation(() => {})
originalProcess = global.process
})
afterEach(() => {
console.warn.mockClear()
global.process = originalProcess
})
describe('with "BOOTSTRAP_VUE_NO_WARN" environment variable set', () => {
beforeEach(() => {
global.process = {
env: {
BOOTSTRAP_VUE_NO_WARN: true
}
}
})
it('does not call "console.warn()"', () => {
warn(dummyWarning)
expect(console.warn).not.toHaveBeenCalled()
})
})
describe('without process object', () => {
beforeEach(() => {
delete global.process
})
it('calls "console.warn()" with warning', () => {
warn(dummyWarning)
expect(console.warn).toHaveBeenCalledWith(`[BootstrapVue warn]: ${dummyWarning}`)
})
it('calls "console.warn()" with warning and source', () => {
warn(dummyWarning, dummySource)
expect(console.warn).toHaveBeenCalledWith(
`[BootstrapVue warn]: ${dummySource} - ${dummyWarning}`
)
})
})
})