ElementNode,
ObjectExpression,
CompilerOptions,
- ErrorCodes
+ ErrorCodes,
+ CallExpression
} from '../../src'
import { transformBind } from '../../src/transforms/vBind'
import { transformElement } from '../../src/transforms/transformElement'
describe('compiler: transform v-bind', () => {
test('basic', () => {
const node = parseWithVBind(`<div v-bind:id="id"/>`)
- const props = node.codegenNode!.arguments[1] as ObjectExpression
+ const props = (node.codegenNode as CallExpression)
+ .arguments[1] as ObjectExpression
expect(props.properties[0]).toMatchObject({
key: {
content: `id`,
test('dynamic arg', () => {
const node = parseWithVBind(`<div v-bind:[id]="id"/>`)
- const props = node.codegenNode!.arguments[1] as ObjectExpression
+ const props = (node.codegenNode as CallExpression)
+ .arguments[1] as ObjectExpression
expect(props.properties[0]).toMatchObject({
key: {
content: `id`,
test('.camel modifier', () => {
const node = parseWithVBind(`<div v-bind:foo-bar.camel="id"/>`)
- const props = node.codegenNode!.arguments[1] as ObjectExpression
+ const props = (node.codegenNode as CallExpression)
+ .arguments[1] as ObjectExpression
expect(props.properties[0]).toMatchObject({
key: {
content: `fooBar`,
test('.camel modifier w/ dynamic arg', () => {
const node = parseWithVBind(`<div v-bind:[foo].camel="id"/>`)
- const props = node.codegenNode!.arguments[1] as ObjectExpression
+ const props = (node.codegenNode as CallExpression)
+ .arguments[1] as ObjectExpression
expect(props.properties[0]).toMatchObject({
key: {
content: `_${CAMELIZE}(foo)`,
const node = parseWithVBind(`<div v-bind:[foo(bar)].camel="id"/>`, {
prefixIdentifiers: true
})
- const props = node.codegenNode!.arguments[1] as ObjectExpression
+ const props = (node.codegenNode as CallExpression)
+ .arguments[1] as ObjectExpression
expect(props.properties[0]).toMatchObject({
key: {
children: [