Skip to content

Commit bb4517c

Browse files
Merge pull request #1484 from emberjs/support-ember-v6
Update tests to be compatible with Ember v6
2 parents 41e0bb1 + e716a17 commit bb4517c

File tree

2 files changed

+83
-59
lines changed

2 files changed

+83
-59
lines changed

test-app/tests/integration/setup-rendering-context-test.js

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,15 @@ const ClickMeButtonComponent = Component.extend({
6565
module('setupRenderingContext "real world"', function (hooks) {
6666
hooks.beforeEach(async function () {
6767
setResolverRegistry({
68-
'component:promise-wrapper': PromiseWrapper,
69-
'template:components/promise-wrapper': PromiseWrapperTemplate,
70-
71-
'component:click-me-button': ClickMeButtonComponent,
72-
'template:components/click-me-button': ClickMeButtonTemplate,
68+
'component:promise-wrapper': setComponentTemplate(
69+
PromiseWrapperTemplate,
70+
class extends PromiseWrapper {}
71+
),
72+
73+
'component:click-me-button': setComponentTemplate(
74+
ClickMeButtonTemplate,
75+
class extends ClickMeButtonComponent {}
76+
),
7377
});
7478

7579
await setupContext(this);

test-app/tests/unit/setup-rendering-context-test.js

Lines changed: 74 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,22 @@ module('setupRenderingContext', function (hooks) {
8080
hooks.beforeEach(async function () {
8181
setResolverRegistry({
8282
'service:foo': Service.extend({ isFoo: true }),
83-
'template:components/template-only': hbs`template-only component here`,
83+
'component:template-only': setComponentTemplate(
84+
hbs`template-only component here`,
85+
class extends Component {}
86+
),
8487
'component:js-only': Component.extend({
8588
classNames: ['js-only'],
8689
}),
8790
'helper:jax': helper(([name]) => `${name}-jax`),
88-
'template:components/outer-comp': hbs`outer{{inner-comp}}outer`,
89-
'template:components/inner-comp': hbs`inner`,
91+
'component:outer-comp': setComponentTemplate(
92+
hbs`outer{{inner-comp}}outer`,
93+
class extends Component {}
94+
),
95+
'component:inner-comp': setComponentTemplate(
96+
hbs`inner`,
97+
class extends Component {}
98+
),
9099
});
91100

92101
await setupContext(this);
@@ -113,10 +122,16 @@ module('setupRenderingContext', function (hooks) {
113122
}
114123

115124
let alternateOwner = await buildEngineOwner(this.owner, {
116-
'template:components/foo': hbs`hello!`,
125+
'component:foo': setComponentTemplate(
126+
hbs`hello!`,
127+
class extends Component {}
128+
),
117129
});
118130

119-
this.owner.register('template:components/foo', hbs`noooooooo!`);
131+
this.owner.register(
132+
'component:foo',
133+
setComponentTemplate(hbs`noooooooo!`, class extends Component {})
134+
);
120135

121136
await render(hbs`<Foo />`, { owner: alternateOwner });
122137

@@ -292,7 +307,10 @@ module('setupRenderingContext', function (hooks) {
292307
});
293308

294309
test('can use the component helper in its layout', async function (assert) {
295-
this.owner.register('template:components/x-foo', hbs`x-foo here`);
310+
this.owner.register(
311+
'component:x-foo',
312+
setComponentTemplate(hbs`x-foo here`, class extends Component {})
313+
);
296314

297315
await render(hbs`{{component 'x-foo'}}`);
298316

@@ -319,15 +337,14 @@ module('setupRenderingContext', function (hooks) {
319337

320338
this.owner.register(
321339
'component:x-foo',
322-
Component.extend({
323-
click() {
324-
assert.ok(true, 'click was fired');
325-
},
326-
})
327-
);
328-
this.owner.register(
329-
'template:components/x-foo',
330-
hbs`<button>Click me!</button>`
340+
setComponentTemplate(
341+
hbs`<button>Click me!</button>`,
342+
Component.extend({
343+
click() {
344+
assert.ok(true, 'click was fired');
345+
},
346+
})
347+
)
331348
);
332349

333350
await render(hbs`{{x-foo}}`);
@@ -345,17 +362,15 @@ module('setupRenderingContext', function (hooks) {
345362

346363
this.owner.register(
347364
'component:x-foo',
348-
Component.extend({
349-
actions: {
350-
clicked() {
365+
setComponentTemplate(
366+
hbs`<button {{on 'click' this.clicked}}>Click me!</button>`,
367+
368+
class extends Component {
369+
clicked = () => {
351370
assert.ok(true, 'click was fired');
352-
},
353-
},
354-
})
355-
);
356-
this.owner.register(
357-
'template:components/x-foo',
358-
hbs`<button {{action 'clicked'}}>Click me!</button>`
371+
};
372+
}
373+
)
359374
);
360375

361376
await render(hbs`{{x-foo}}`);
@@ -371,10 +386,12 @@ module('setupRenderingContext', function (hooks) {
371386
test('can pass function to be used as a "closure action"', async function (assert) {
372387
assert.expect(2);
373388

374-
this.owner.register('component:x-foo', Component.extend());
375389
this.owner.register(
376-
'template:components/x-foo',
377-
hbs`<button onclick={{action @clicked}}>Click me!</button>`
390+
'component:x-foo',
391+
setComponentTemplate(
392+
hbs`<button {{on 'click' @clicked}}>Click me!</button>`,
393+
Component.extend()
394+
)
378395
);
379396

380397
this.set('clicked', () => assert.ok(true, 'action was triggered'));
@@ -391,9 +408,12 @@ module('setupRenderingContext', function (hooks) {
391408
test('can pass function to be used as a "closure action" to a template only component', async function (assert) {
392409
assert.expect(2);
393410

394-
let template = hbs`<button onclick={{action @clicked}}>Click me!</button>`;
411+
let template = hbs`<button onclick={{@clicked}}>Click me!</button>`;
395412

396-
this.owner.register('template:components/x-foo', template);
413+
this.owner.register(
414+
'component:x-foo',
415+
setComponentTemplate(template, class extends Component {})
416+
);
397417

398418
this.set('clicked', () => assert.ok(true, 'action was triggered'));
399419
await render(hbs`{{x-foo clicked=this.clicked}}`);
@@ -408,8 +428,11 @@ module('setupRenderingContext', function (hooks) {
408428

409429
test('can update a passed in argument with an <input>', async function (assert) {
410430
this.owner.register(
411-
'template:components/my-input',
412-
hbs`{{input value=@value}}`
431+
'component:my-input',
432+
setComponentTemplate(
433+
hbs`{{input value=@value}}`,
434+
class extends Component {}
435+
)
413436
);
414437

415438
await render(hbs`<MyInput @value={{this.value}} />`);
@@ -436,8 +459,11 @@ module('setupRenderingContext', function (hooks) {
436459

437460
test('it supports dom triggered focus events', async function (assert) {
438461
this.owner.register(
439-
'template:components/x-input',
440-
hbs`<input onblur={{this.onBlur}} onfocusout={{this.onFocus}} />`
462+
'component:x-input',
463+
setComponentTemplate(
464+
hbs`<input onblur={{this.onBlur}} onfocusout={{this.onFocus}} />`,
465+
class extends Component {}
466+
)
441467
);
442468
await render(hbs`<XInput />`);
443469

@@ -463,17 +489,14 @@ module('setupRenderingContext', function (hooks) {
463489
test('two way bound arguments are updated', async function (assert) {
464490
this.owner.register(
465491
'component:my-component',
466-
Component.extend({
467-
actions: {
468-
clicked() {
492+
setComponentTemplate(
493+
hbs`<button {{on 'click' this.clicked}}>{{this.foo}}</button>`,
494+
class extends Component {
495+
clicked = () => {
469496
this.set('foo', 'updated!');
470-
},
471-
},
472-
})
473-
);
474-
this.owner.register(
475-
'template:components/my-component',
476-
hbs`<button {{action 'clicked'}}>{{this.foo}}</button>`
497+
};
498+
}
499+
)
477500
);
478501

479502
this.set('foo', 'original');
@@ -496,18 +519,15 @@ module('setupRenderingContext', function (hooks) {
496519
test('two way bound arguments are available after clearRender is called', async function (assert) {
497520
this.owner.register(
498521
'component:my-component',
499-
Component.extend({
500-
actions: {
501-
clicked() {
522+
setComponentTemplate(
523+
hbs`<button {{on 'click' this.clicked}}>{{this.foo}}</button>`,
524+
class extends Component {
525+
clicked = () => {
502526
this.set('foo', 'updated!');
503527
this.set('bar', 'updated bar!');
504-
},
505-
},
506-
})
507-
);
508-
this.owner.register(
509-
'template:components/my-component',
510-
hbs`<button {{action 'clicked'}}>{{this.foo}}</button>`
528+
};
529+
}
530+
)
511531
);
512532

513533
// using two arguments here to ensure the two way binding

0 commit comments

Comments
 (0)