vue3-yuanma/packages/runtime-core/__tests__/componentProxy.spec.ts
Tim van den Eijnden 0177355242 fix: add warnings (#82)
* fix: add warnings

- invalid watch handler path
- attempting to mutate readonly computed value
- attempt of mutating public property
- attempt of mutating prop

* fix: more descriptive warnings + details

* fix: test apiOptions warnings

* fix: update warning in componentProxy

* fix: update warnings in componentProxy & apiOptions

* fix: update warning in componentProxy

* fix: implemented tests for componentProxy

* fix: remove comment + small refactor
2019-10-09 14:03:21 -04:00

41 lines
972 B
TypeScript

import { createApp, nodeOps, mockWarn } from '@vue/runtime-test'
const createTestInstance = (props?: any) => {
const component = {
render() {}
}
const root = nodeOps.createElement('div')
return createApp().mount(component, root, props)
}
describe('component proxy', () => {
describe('warnings', () => {
mockWarn()
test('Attempting to mutate public property', () => {
const app = createTestInstance()
try {
app.$props = { foo: 'bar' }
} catch {
expect(
'Attempting to mutate public property "$props". ' +
'Properties starting with $ are reserved and readonly.'
).toHaveBeenWarned()
}
})
test('Attempting to mutate prop', () => {
const app = createTestInstance({ foo: 'foo' })
try {
app.foo = 'bar'
} catch {
expect(
'Attempting to mutate prop "foo". Props are readonly.'
).toHaveBeenWarned()
}
})
})
})