UNPKG

els-addon-typed-templates

Version:
48 lines (43 loc) 1.3 kB
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}}`, '<MyComponent as |ctx|> {{ctx.result}} </MyComponent>', `{{foo this.bar baz=this.boo}}`, '<input {{foo-bar this.baz a="1"}}>', '<MyComponent as |ctx|>{{#let ctx.result as |bar|}}{{bar}}{{/let}}</MyComponent>', ]; cases.forEach((str)=>{ it(str, ()=>{ expect(results(str)).toMatchSnapshot(); }); }); }); describe('getClassMeta - complex case', () => { expect(results(` {{#each @model.tagsList as |tag|}} <LinkTo @query={{hash tags=tag}} > {{tag}} </LinkTo> {{/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(); })