Sha256: 0e53580da1f4b222c094a09d29b79bfb85e6b48ebb493a21dea5eb79ee7d4b0b

Contents?: true

Size: 1.06 KB

Versions: 1

Compression:

Stored size: 1.06 KB

Contents

import { moduleFor, RenderingTest } from '../../utils/test-case';
import { strip } from '../../utils/abstract-test-case';
import { _registerMacros, _experimentalMacros } from '@ember/-internals/glimmer';

moduleFor(
  'registerMacros',
  class extends RenderingTest {
    constructor() {
      let originalMacros = _experimentalMacros.slice();

      _registerMacros(blocks => {
        blocks.add('-let', (params, hash, _default, inverse, builder) => {
          builder.compileParams(params);
          builder.invokeStaticBlock(_default, params.length);
        });
      });

      super(...arguments);
      this.originalMacros = originalMacros;
    }

    teardown() {
      _experimentalMacros.length = 0;
      this.originalMacros.forEach(macro => _experimentalMacros.push(macro));

      super.teardown();
    }

    ['@test allows registering custom syntax via private API']() {
      this.render(
        strip`
      {{#-let obj as |bar|}}
        {{bar}}
      {{/-let}}
    `,
        { obj: 'hello world!' }
      );

      this.assertText('hello world!');
    }
  }
);

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
discourse-ember-source-3.6.0.0 dist/es/@ember/-internals/glimmer/tests/integration/syntax/experimental-syntax-test.js