import extractProps from '../lib/extract-props'
describe('when extracting props with props. prefix from functional template content', () => {
it('extracts interpolated props ', () => {
const content = '
{{props.msg1 }} {{props.msg2}}
'
expect(extractProps(content)).toBe("[ 'msg1', 'msg2' ]")
})
it('extracts props used in v-for', () => {
const content = ' {{ bar }}}
'
expect(extractProps(content)).toBe("[ 'foo' ]")
})
it('extracts props with nested structure', () => {
const content = ' {{props.msg1.foo }} {{props.msg1.bar}}
'
expect(extractProps(content)).toBe("[ 'msg1' ]")
})
it('extracts callback props', () => {
const content = ''
expect(extractProps(content)).toBe("[ 'onClick', 'msg' ]")
})
it('extracts array props', () => {
const content = '{{props.msg[title]}}
'
expect(extractProps(content)).toBe("[ 'msg' ]")
})
})