import { getClassMeta } from './ast-parser';
import { extractRelationships } from './hbs-extractor';
function results(source) {
let items: any = extractRelationships(getClassMeta(source).nodes, '');
delete items.klass;
return items;
}
describe('getClassMeta', () => {
const cases = [
'{{1}}',
`{{"1"}}`,
`{{foo}}`,
`{{#let foo as |bar|}}{{bar}}{{/let}}`,
' {{ctx.result}} ',
`{{foo this.bar baz=this.boo}}`,
'',
'{{#let ctx.result as |bar|}}{{bar}}{{/let}}',
];
cases.forEach((str)=>{
it(str, ()=>{
expect(results(str)).toMatchSnapshot();
});
});
});
describe('getClassMeta - complex case', () => {
expect(results(`
{{#each @model.tagsList as |tag|}}
{{tag}}
{{/each}}
`)).toMatchSnapshot();
})
describe('getClassMeta - simple scope', () => {
expect(results(`{{#each @model.tagsList as |tag|}}
{{tag}}
{{/each}}`)).toMatchSnapshot();
})
describe('dash in path names', () => {
expect(results(`{{@classNames.ui-wrapper}}`)).toMatchSnapshot();
})