Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions packages/@ember/-internals/glimmer/lib/renderer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@ import { BOUNDS } from './component-managers/curly';
import { createRootOutlet } from './component-managers/outlet';
import { RootComponentDefinition } from './component-managers/root';
import { EmberEnvironmentDelegate } from './environment';
import { StrictResolver } from './renderer/strict-resolver';
import ResolverImpl from './resolver';
import type { OutletState } from './utils/outlet';
import OutletView from './views/outlet';
Expand Down Expand Up @@ -345,7 +344,7 @@ interface ViewRegistry {
[viewId: string]: unknown;
}

type Resolver = ClassicResolver | StrictResolver;
type Resolver = ClassicResolver;

interface RendererData {
owner: object;
Expand Down Expand Up @@ -679,7 +678,7 @@ export class BaseRenderer {
owner,
{ hasDOM: hasDOM, ...options },
document as SimpleDocument,
new StrictResolver(),
new ResolverImpl(),
clientBuilder
);
}
Expand Down Expand Up @@ -769,7 +768,7 @@ export class Renderer extends BaseRenderer {
owner,
{ hasDOM: hasDOM, ...options },
document as SimpleDocument,
new StrictResolver(),
new ResolverImpl(),
clientBuilder
);
}
Expand Down
38 changes: 0 additions & 38 deletions packages/@ember/-internals/glimmer/lib/renderer/strict-resolver.ts

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -597,6 +597,34 @@ moduleFor(
}
);

moduleFor(
'Strict Mode <-> Loose Mode - renderComponent',
class extends RenderComponentTestCase {
'@test incidentally invoked loose-mode components can still resolve helpers'() {
this.owner.register('helper:a-helper', (str: string) => str.toUpperCase());
let Loose = defineComponent(null, `Hi: {{a-helper "there"}}`);
let Root = defComponent('<Loose />', { scope: { Loose } });

this.renderComponent(Root, { expect: 'Hi: THERE' });

run(() => destroy(this));

assertHTML('');
}

'@test strict-mode components cannot lookup things in the registry'(assert: Assert) {
this.owner.register('helper:a-helper', (str: string) => str.toUpperCase());
assert.throws(() => {
/**
* We need to pass a scope so that `defComponent` returns a strict-mode component.
*/
let Root = defComponent('{{a-helper "hi"}}', { scope: {} });
this.renderComponent(Root, { expect: '' });
}, /but that value was not in scope: a-helper/);
}
}
);

moduleFor(
'Strict Mode - renderComponent - built ins',
class extends RenderComponentTestCase {
Expand Down