diff --git a/packages/@glimmer/integration-tests/lib/render-test.ts b/packages/@glimmer/integration-tests/lib/render-test.ts index 1d5d378ea3..25e3883ec2 100644 --- a/packages/@glimmer/integration-tests/lib/render-test.ts +++ b/packages/@glimmer/integration-tests/lib/render-test.ts @@ -307,9 +307,9 @@ export class RenderTest implements IRenderTest { let invocation: string | string[] = []; if (template) { - invocation.push('{{#component componentName'); + invocation.push('{{#component this.componentName'); } else { - invocation.push('{{component componentName'); + invocation.push('{{component this.componentName'); } let componentArgs = this.buildArgs(args); diff --git a/packages/@glimmer/integration-tests/lib/suites/components.ts b/packages/@glimmer/integration-tests/lib/suites/components.ts index a94df7b374..ea72abe67f 100644 --- a/packages/@glimmer/integration-tests/lib/suites/components.ts +++ b/packages/@glimmer/integration-tests/lib/suites/components.ts @@ -19,7 +19,7 @@ export class TemplateOnlyComponents extends RenderTest { name: 'MyComponent', layout: '{{yield}} - {{@color}}', template: 'hello!', - args: { color: 'color' }, + args: { color: 'this.color' }, }, { color: 'red' } ); @@ -45,8 +45,8 @@ export class TemplateOnlyComponents extends RenderTest { name: 'MyComponent', layout: '
{{yield}} - {{@color}}
', template: 'hello!', - args: { color: 'color' }, - attributes: { color: '{{color}}' }, + args: { color: 'this.color' }, + attributes: { color: '{{this.color}}' }, }, { color: 'red' } ); @@ -223,7 +223,7 @@ export class GlimmerishComponents extends RenderTest { this.registerComponent( 'Glimmer', 'Foo', - '
[{{localProperty}} {{@staticNamedArg}} {{@dynamicNamedArg}}]
', + '
[{{this.localProperty}} {{@staticNamedArg}} {{@dynamicNamedArg}}]
', Foo ); @@ -232,7 +232,7 @@ export class GlimmerishComponents extends RenderTest { layout: stripTight`<@foo @staticNamedArg="static" data-test1={{@outerArg}} data-test2="static" @dynamicNamedArg={{@outerArg}} />`, args: { foo: 'component "Foo"', - outerArg: 'outer', + outerArg: 'this.outer', }, }, { outer: 'outer' } @@ -345,11 +345,11 @@ export class GlimmerishComponents extends RenderTest { this.registerComponent( 'Glimmer', 'Foo', - '
[{{localProperty}} {{@staticNamedArg}} {{@dynamicNamedArg}}] - {{yield}}
', + '
[{{this.localProperty}} {{@staticNamedArg}} {{@dynamicNamedArg}}] - {{yield}}
', Foo ); this.render( - `{{#with (component 'Foo') as |Other|}}template{{/with}}`, + `{{#with (component 'Foo') as |Other|}}template{{/with}}`, { outer: 'outer' } ); @@ -519,10 +519,12 @@ export class GlimmerishComponents extends RenderTest { this.registerComponent( 'Glimmer', 'Foo', - '
[{{localProperty}} {{@staticNamedArg}} {{@dynamicNamedArg}}] - {{yield}}
', + '
[{{this.localProperty}} {{@staticNamedArg}} {{@dynamicNamedArg}}] - {{yield}}
', Foo ); - this.render('', { outer: 'outer' }); + this.render('', { + outer: 'outer', + }); this.assertHTML( `
[local static outer] - template
` @@ -625,7 +627,7 @@ export class GlimmerishComponents extends RenderTest { this.registerComponent( 'Glimmer', 'Main', - '
', + '
', MainComponent ); this.registerComponent('Glimmer', 'HelloWorld', '

Hello {{@name}}!

'); @@ -666,7 +668,7 @@ export class GlimmerishComponents extends RenderTest { ); this.registerComponent('Glimmer', 'HelloWorld', '{{yield (component "A" a=@a)}}'); this.registerComponent('Glimmer', 'A', 'A {{@a}}'); - this.render('
', { a: 'a' }); + this.render('
', { a: 'a' }); this.assertHTML('
A a
'); this.assertStableRerender(); this.rerender({ a: 'A' }); @@ -682,7 +684,7 @@ export class GlimmerishComponents extends RenderTest { 'A {{#component "B" arg1=@one arg2=@two arg3=@three}}{{/component}}' ); this.registerComponent('Glimmer', 'B', 'B {{@arg1}} {{@arg2}} {{@arg3}}'); - this.render('', { + this.render('', { first: 1, second: 2, third: 3, @@ -698,7 +700,7 @@ export class GlimmerishComponents extends RenderTest { 'Static inline component helper'() { this.registerComponent('Glimmer', 'A', 'A {{component "B" arg1=@one arg2=@two arg3=@three}}'); this.registerComponent('Glimmer', 'B', 'B {{@arg1}} {{@arg2}} {{@arg3}}'); - this.render('', { + this.render('', { first: 1, second: 2, third: 3, @@ -719,7 +721,7 @@ export class GlimmerishComponents extends RenderTest { this.render( strip` - {{#each components key="id" as |c|}} + {{#each this.components key="id" as |c|}} {{#in-element c.mount}} {{component c.name childName=c.child data=c.data}} {{/in-element}} @@ -755,7 +757,7 @@ export class GlimmerishComponents extends RenderTest { this.registerComponent( 'Glimmer', 'RecursiveInvoker', - '{{id}}{{#if showChildren}}{{/if}}', + '{{this.id}}{{#if this.showChildren}}{{/if}}', RecursiveInvoker ); @@ -777,7 +779,7 @@ export class GlimmerishComponents extends RenderTest { } ); - this.render('{{#if showing}}{{/if}}', { + this.render('{{#if this.showing}}{{/if}}', { showing: false, }); @@ -805,9 +807,12 @@ export class GlimmerishComponents extends RenderTest { } ); - this.render('{{#if showing}}
{{/if}}', { - showing: false, - }); + this.render( + '{{#if this.showing}}
{{/if}}', + { + showing: false, + } + ); this.assert.throws(() => { this.rerender({ showing: true }); @@ -838,7 +843,7 @@ export class GlimmerishComponents extends RenderTest { this.registerComponent('TemplateOnly', 'Bar', '
'); - this.render('{{#if showing}}
{{/if}}', { + this.render('{{#if this.showing}}
{{/if}}', { showing: false, }); @@ -885,7 +890,7 @@ export class GlimmerishComponents extends RenderTest { this.registerComponent('TemplateOnly', 'Bar', '
'); - this.render('{{#if showing}}
{{/if}}', { + this.render('{{#if this.showing}}
{{/if}}', { showing: false, }); diff --git a/packages/@glimmer/integration-tests/lib/suites/custom-dom-helper.ts b/packages/@glimmer/integration-tests/lib/suites/custom-dom-helper.ts index e85f9fdd73..dc39748fbb 100644 --- a/packages/@glimmer/integration-tests/lib/suites/custom-dom-helper.ts +++ b/packages/@glimmer/integration-tests/lib/suites/custom-dom-helper.ts @@ -48,7 +48,7 @@ export class SerializedDOMHelperTests extends DOMHelperTests { @test 'The compiler can handle unescaped HTML'() { - this.render('
{{{title}}}
', { title: 'hello' }); + this.render('
{{{this.title}}}
', { title: 'hello' }); let b = blockStack(); this.assertHTML(strip`
diff --git a/packages/@glimmer/integration-tests/lib/suites/debugger.ts b/packages/@glimmer/integration-tests/lib/suites/debugger.ts index 1e9fe8fc76..3963ee861e 100644 --- a/packages/@glimmer/integration-tests/lib/suites/debugger.ts +++ b/packages/@glimmer/integration-tests/lib/suites/debugger.ts @@ -25,7 +25,10 @@ export class DebuggerSuite extends RenderTest { this.assert.equal(get('foo'), expectedContext.foo); }); - this.render('{{#if a.b}}true{{debugger}}{{else}}false{{debugger}}{{/if}}', expectedContext); + this.render( + '{{#if this.a.b}}true{{debugger}}{{else}}false{{debugger}}{{/if}}', + expectedContext + ); this.assert.equal(callbackExecuted, 1); this.assertHTML('true'); this.assertStableRerender(); @@ -71,7 +74,7 @@ export class DebuggerSuite extends RenderTest { }); this.render( - '{{#with foo as |bar|}}{{#if a.b}}true{{debugger}}{{else}}false{{debugger}}{{/if}}{{/with}}', + '{{#with this.foo as |bar|}}{{#if this.a.b}}true{{debugger}}{{else}}false{{debugger}}{{/if}}{{/with}}', expectedContext ); this.assert.equal(callbackExecuted, 1); diff --git a/packages/@glimmer/integration-tests/lib/suites/each.ts b/packages/@glimmer/integration-tests/lib/suites/each.ts index 871f949530..e782794fac 100644 --- a/packages/@glimmer/integration-tests/lib/suites/each.ts +++ b/packages/@glimmer/integration-tests/lib/suites/each.ts @@ -23,7 +23,7 @@ export class EachSuite extends RenderTest { @test 'basic #each'() { let list = [1, 2, 3, 4]; - this.render('{{#each list key="@index" as |item|}}{{item}}{{else}}Empty{{/each}}', { + this.render('{{#each this.list key="@index" as |item|}}{{item}}{{else}}Empty{{/each}}', { list, }); this.assertHTML('1234'); @@ -71,7 +71,7 @@ export class EachSuite extends RenderTest { this.arr.splice(0, this.arr.length); }, }; - this.render('{{#each list key="@index" as |item|}}{{item}}{{else}}Empty{{/each}}', { + this.render('{{#each this.list key="@index" as |item|}}{{item}}{{else}}Empty{{/each}}', { list, }); this.assertHTML('1234'); @@ -96,7 +96,7 @@ export class EachSuite extends RenderTest { @test 'keyed #each'() { let list = [{ text: 'hello' }]; - this.render('{{#each list key="text" as |item|}}{{item.text}}{{else}}Empty{{/each}}', { + this.render('{{#each this.list key="text" as |item|}}{{item.text}}{{else}}Empty{{/each}}', { list, }); this.assertHTML('hello'); @@ -122,9 +122,12 @@ export class EachSuite extends RenderTest { @test 'receives the index as the second parameter'() { let list = [1, 2, 3, 4]; - this.render('{{#each list key="@index" as |item i|}}{{item}}-{{i}}:{{else}}Empty{{/each}}', { - list, - }); + this.render( + '{{#each this.list key="@index" as |item i|}}{{item}}-{{i}}:{{else}}Empty{{/each}}', + { + list, + } + ); this.assertHTML('1-0:2-1:3-2:4-3:'); this.assertStableRerender(); @@ -155,7 +158,7 @@ export class EachSuite extends RenderTest { let list = [v1, v2, v3, v4]; this.render( - '{{#each list key="@identity" as |item i|}}{{item.val}}-{{i}}{{else}}Empty{{/each}}', + '{{#each this.list key="@identity" as |item i|}}{{item.val}}-{{i}}{{else}}Empty{{/each}}', { list, } @@ -187,7 +190,7 @@ export class EachSuite extends RenderTest { @test 'it can render duplicate primitive items'() { let list = ['a', 'a', 'a']; - this.render('{{#each list key="@index" as |item|}}{{item}}{{/each}}', { + this.render('{{#each this.list key="@index" as |item|}}{{item}}{{/each}}', { list, }); this.assertHTML('aaa'); @@ -208,7 +211,7 @@ export class EachSuite extends RenderTest { 'it can render duplicate objects'() { let dup = { text: 'dup' }; let list = [dup, dup, { text: 'uniq' }]; - this.render('{{#each list key="@index" as |item|}}{{item.text}}{{/each}}', { + this.render('{{#each this.list key="@index" as |item|}}{{item.text}}{{/each}}', { list, }); this.assertHTML('dupdupuniq'); @@ -237,7 +240,7 @@ export class EachSuite extends RenderTest { let list = [new Item('Hello'), new Item('Hello'), new Item('Hello')]; - this.render(`{{#each list key="text" as |item|}}{{item.text}}{{/each}}`, { + this.render(`{{#each this.list key="text" as |item|}}{{item.text}}{{/each}}`, { list, }); @@ -269,7 +272,7 @@ export class EachSuite extends RenderTest { let list = [new Item('Hello'), new Item('Hello'), new Item('Hello')]; - this.render(`{{#each list key="@identity" as |item|}}{{item.text}}{{/each}}`, { + this.render(`{{#each this.list key="@identity" as |item|}}{{item.text}}{{/each}}`, { list, }); @@ -293,7 +296,7 @@ export class EachSuite extends RenderTest { 'it does not update items if their key has not changed, and the items are not tracked'() { let list = [{ text: 'Hello' }, { text: 'Hello' }, { text: 'Hello' }]; - this.render(`{{#each list key="@identity" as |item|}}{{item.text}}{{/each}}`, { + this.render(`{{#each this.list key="@identity" as |item|}}{{item.text}}{{/each}}`, { list, }); @@ -311,10 +314,13 @@ export class EachSuite extends RenderTest { 'scoped variable not available outside list'() { let list = ['Wycats']; - this.render(`{{name}}-{{#each list key="@index" as |name|}}{{name}}{{/each}}-{{name}}`, { - list, - name: 'Stef', - }); + this.render( + `{{this.name}}-{{#each this.list key="@index" as |name|}}{{name}}{{/each}}-{{this.name}}`, + { + list, + name: 'Stef', + } + ); this.assertHTML('Stef-Wycats-Stef'); this.assertStableRerender(); @@ -340,7 +346,7 @@ export class EachSuite extends RenderTest { let list: string[] = []; this.render( - `{{#each list key="@index" as |name|}}Has thing{{else}}No thing {{otherThing}}{{/each}}`, + `{{#each this.list key="@index" as |name|}}Has thing{{else}}No thing {{this.otherThing}}{{/each}}`, { list, otherThing: 'Chad', @@ -369,7 +375,7 @@ export class EachSuite extends RenderTest { if (!LOCAL_DEBUG) return; let arr = [1, 2, 3, 4, 5, 6, 7, 8]; - this.render(`{{#each arr as |item|}}{{item}}{{/each}}`, { arr }); + this.render(`{{#each this.arr as |item|}}{{item}}{{/each}}`, { arr }); let a = arr[1]; let b = arr[7]; @@ -399,7 +405,7 @@ export class EachSuite extends RenderTest { if (!LOCAL_DEBUG) return; let arr = [1, 2, 3, 4, 5, 6, 7, 8]; - this.render(`{{#each arr as |item|}}{{item}}{{/each}}`, { arr }); + this.render(`{{#each this.arr as |item|}}{{item}}{{/each}}`, { arr }); let a = arr[0]; let b = arr[7]; @@ -429,7 +435,7 @@ export class EachSuite extends RenderTest { if (!LOCAL_DEBUG) return; let arr = [1, 2, 3, 4, 5, 6, 7, 8]; - this.render(`{{#each arr as |item|}}{{item}}{{/each}}`, { arr }); + this.render(`{{#each this.arr as |item|}}{{item}}{{/each}}`, { arr }); let a = arr[0]; let b = arr[6]; @@ -459,7 +465,7 @@ export class EachSuite extends RenderTest { if (!LOCAL_DEBUG) return; let arr = [1, 2, 3, 4, 5, 6, 7, 8]; - this.render(`{{#each arr as |item|}}{{item}}{{/each}}`, { arr }); + this.render(`{{#each this.arr as |item|}}{{item}}{{/each}}`, { arr }); let a = arr[1]; let b = arr[3]; @@ -493,7 +499,7 @@ export class EachSuite extends RenderTest { if (!LOCAL_DEBUG) return; let arr = [1, 2, 3, 4, 5, 6, 7, 8]; - this.render(`{{#each arr as |item|}}{{item}}{{/each}}`, { arr }); + this.render(`{{#each this.arr as |item|}}{{item}}{{/each}}`, { arr }); let a = arr[1]; let b = arr[3]; @@ -525,7 +531,7 @@ export class EachSuite extends RenderTest { if (!LOCAL_DEBUG) return; let arr = [1, 2, 3, 4, 5, 6, 7, 8]; - this.render(`{{#each arr as |item|}}{{item}}{{/each}}`, { arr }); + this.render(`{{#each this.arr as |item|}}{{item}}{{/each}}`, { arr }); let a = arr[1]; let b = arr[6]; @@ -558,7 +564,7 @@ export class EachSuite extends RenderTest { if (!LOCAL_DEBUG) return; let arr = [1, 2, 3, 4, 5, 6, 7, 8]; - this.render(`{{#each arr as |item|}}{{item}}{{/each}}`, { arr }); + this.render(`{{#each this.arr as |item|}}{{item}}{{/each}}`, { arr }); arr.shift(); arr.splice(2, 0, 9); @@ -587,7 +593,7 @@ export class EachSuite extends RenderTest { if (!LOCAL_DEBUG) return; let arr = [1, 2, 3, 4, 5, 6, 7, 8]; - this.render(`{{#each arr as |item|}}{{item}}{{/each}}`, { arr }); + this.render(`{{#each this.arr as |item|}}{{item}}{{/each}}`, { arr }); let shifted = [8, 1, 2, 3, 4, 5, 6, 7]; @@ -614,7 +620,7 @@ export class EachSuite extends RenderTest { if (!LOCAL_DEBUG) return; let arr = [1, 2, 3, 4, 5, 6, 7, 8]; - this.render(`{{#each arr as |item|}}{{item}}{{/each}}`, { arr }); + this.render(`{{#each this.arr as |item|}}{{item}}{{/each}}`, { arr }); let shifted = [2, 3, 4, 5, 6, 7, 8, 1]; @@ -641,7 +647,7 @@ export class EachSuite extends RenderTest { if (!LOCAL_DEBUG) return; let arr = [1, 2, 3, 4, 5, 6, 7, 8]; - this.render(`{{#each arr as |item|}}{{item}}{{/each}}`, { arr }); + this.render(`{{#each this.arr as |item|}}{{item}}{{/each}}`, { arr }); for (let i = 0; i < 100; i++) { shuffleArray(arr); @@ -666,7 +672,7 @@ export class EachSuite extends RenderTest { if (!LOCAL_DEBUG) return; let arr = [1, 2, 3, 4, 5, 6, 7, 8]; - this.render(`{{#each arr as |item|}}{{item}}{{/each}}`, { arr }); + this.render(`{{#each this.arr as |item|}}{{item}}{{/each}}`, { arr }); for (let i = 0; i < 100; i++) { let newArr = arr.slice(); @@ -693,7 +699,7 @@ export class EachSuite extends RenderTest { if (!LOCAL_DEBUG) return; let arr = [1, 2, 3, 4, 5, 6, 7, 8]; - this.render(`{{#each arr as |item|}}{{item}}{{/each}}`, { arr }); + this.render(`{{#each this.arr as |item|}}{{item}}{{/each}}`, { arr }); for (let i = 0; i < 100; i++) { let newArr = arr.slice(); @@ -722,7 +728,9 @@ export class EachSuite extends RenderTest { [4, 5, 6, 7, 8], [5, 6, 7, 8, 9], ]; - this.render(`{{#each arr as |sub|}}{{#each sub as |item|}}{{item}}{{/each}}{{/each}}`, { arr }); + this.render(`{{#each this.arr as |sub|}}{{#each sub as |item|}}{{item}}{{/each}}{{/each}}`, { + arr, + }); for (let i = 0; i < 100; i++) { for (let sub of arr) { diff --git a/packages/@glimmer/integration-tests/lib/suites/emberish-components.ts b/packages/@glimmer/integration-tests/lib/suites/emberish-components.ts index 367524daa1..e3f965dc37 100644 --- a/packages/@glimmer/integration-tests/lib/suites/emberish-components.ts +++ b/packages/@glimmer/integration-tests/lib/suites/emberish-components.ts @@ -33,7 +33,7 @@ export class EmberishComponentTests extends RenderTest { } ); - this.render('{{#if ok}}
{{/if}}', { + this.render('{{#if this.ok}}
{{/if}}', { bar: 'bar', ok: true, }); @@ -69,7 +69,7 @@ export class EmberishComponentTests extends RenderTest { { layout: 'In layout -- {{#if @predicate}}{{yield}}{{/if}}', template: 'In template', - args: { predicate: 'predicate' }, + args: { predicate: 'this.predicate' }, }, { predicate: true } ); diff --git a/packages/@glimmer/integration-tests/lib/suites/in-element.ts b/packages/@glimmer/integration-tests/lib/suites/in-element.ts index b35a0a6c4c..2ccda2374e 100644 --- a/packages/@glimmer/integration-tests/lib/suites/in-element.ts +++ b/packages/@glimmer/integration-tests/lib/suites/in-element.ts @@ -30,7 +30,7 @@ export class InElementSuite extends RenderTest { })); let externalElement = this.delegate.createElement('div'); - this.render('{{#maybe-in-element externalElement}}[{{foo}}]{{/maybe-in-element}}', { + this.render('{{#maybe-in-element this.externalElement}}[{{this.foo}}]{{/maybe-in-element}}', { externalElement, foo: 'Yippie!', }); @@ -50,7 +50,7 @@ export class InElementSuite extends RenderTest { @test 'Renders curlies into external element'() { let externalElement = this.delegate.createElement('div'); - this.render('{{#in-element externalElement}}[{{foo}}]{{/in-element}}', { + this.render('{{#in-element this.externalElement}}[{{this.foo}}]{{/in-element}}', { externalElement, foo: 'Yippie!', }); @@ -73,7 +73,7 @@ export class InElementSuite extends RenderTest { let initialContent = '

Hello there!

'; replaceHTML(externalElement, initialContent); - this.render('{{#in-element externalElement}}[{{foo}}]{{/in-element}}', { + this.render('{{#in-element this.externalElement}}[{{this.foo}}]{{/in-element}}', { externalElement, foo: 'Yippie!', }); @@ -97,9 +97,9 @@ export class InElementSuite extends RenderTest { this.render( stripTight` - |{{foo}}| - {{#in-element first}}[1{{foo}}]{{/in-element}} - {{#in-element second}}[2{{foo}}]{{/in-element}} + |{{this.foo}}| + {{#in-element this.first}}[1{{this.foo}}]{{/in-element}} + {{#in-element this.second}}[2{{this.foo}}]{{/in-element}} `, { first, second: null, foo: 'Yippie!' } ); @@ -141,7 +141,7 @@ export class InElementSuite extends RenderTest { replaceHTML(externalElement, initialContent); this.render( - stripTight`{{#in-element externalElement insertBefore=null}}[{{foo}}]{{/in-element}}`, + stripTight`{{#in-element this.externalElement insertBefore=null}}[{{this.foo}}]{{/in-element}}`, { externalElement, foo: 'Yippie!', @@ -174,7 +174,7 @@ export class InElementSuite extends RenderTest { replaceHTML(externalElement, 'Hellothere!'); this.render( - stripTight`{{#in-element externalElement insertBefore=insertBefore}}[{{foo}}]{{/in-element}}`, + stripTight`{{#in-element this.externalElement insertBefore=this.insertBefore}}[{{this.foo}}]{{/in-element}}`, { externalElement, insertBefore: externalElement.lastChild, foo: 'Yippie!' } ); @@ -208,7 +208,7 @@ export class InElementSuite extends RenderTest { let first = this.delegate.createElement('div'); let second = this.delegate.createElement('div'); - this.render(stripTight`{{#in-element externalElement}}[{{foo}}]{{/in-element}}`, { + this.render(stripTight`{{#in-element this.externalElement}}[{{this.foo}}]{{/in-element}}`, { externalElement: first, foo: 'Yippie!', }); @@ -262,11 +262,11 @@ export class InElementSuite extends RenderTest { this.render( stripTight` - {{#if showFirst}} - {{#in-element first}}[{{foo}}]{{/in-element}} + {{#if this.showFirst}} + {{#in-element this.first}}[{{this.foo}}]{{/in-element}} {{/if}} - {{#if showSecond}} - {{#in-element second}}[{{foo}}]{{/in-element}} + {{#if this.showSecond}} + {{#in-element this.second}}[{{this.foo}}]{{/in-element}} {{/if}} `, { @@ -349,11 +349,11 @@ export class InElementSuite extends RenderTest { this.render( stripTight` - {{#in-element firstElement}} - [{{foo}}] + {{#in-element this.firstElement}} + [{{this.foo}}] {{/in-element}} - {{#in-element secondElement}} - [{{bar}}] + {{#in-element this.secondElement}} + [{{this.bar}}] {{/in-element}} `, { @@ -464,10 +464,10 @@ export class InElementSuite extends RenderTest { this.render( stripTight` - {{#in-element firstElement}} - [{{foo}}] - {{#in-element secondElement}} - [{{bar}}] + {{#in-element this.firstElement}} + [{{this.foo}}] + {{#in-element this.secondElement}} + [{{this.bar}}] {{/in-element}} {{/in-element}} `, @@ -525,8 +525,8 @@ export class InElementSuite extends RenderTest { this.render( stripTight` - {{#if showExternal}} - {{#in-element externalElement}}[]{{/in-element}} + {{#if this.showExternal}} + {{#in-element this.externalElement}}[]{{/in-element}} {{/if}} `, { diff --git a/packages/@glimmer/integration-tests/lib/suites/initial-render.ts b/packages/@glimmer/integration-tests/lib/suites/initial-render.ts index a192853219..ef0facc148 100644 --- a/packages/@glimmer/integration-tests/lib/suites/initial-render.ts +++ b/packages/@glimmer/integration-tests/lib/suites/initial-render.ts @@ -131,7 +131,7 @@ export class InitialRenderSuite extends RenderTest { @test 'Custom Elements with dynamic attributes'() { this.render( - "", + "", { someDynamicBits: 'things' } ); this.assertHTML(""); @@ -140,14 +140,14 @@ export class InitialRenderSuite extends RenderTest { @test 'Custom Elements with dynamic content'() { - this.render('{{derp}}', { derp: 'stuff' }); + this.render('{{this.derp}}', { derp: 'stuff' }); this.assertHTML('stuff'); this.assertStableRerender(); } @test 'Dynamic content within single custom element'() { - this.render('{{#if derp}}Content Here{{/if}}', { derp: 'stuff' }); + this.render('{{#if this.derp}}Content Here{{/if}}', { derp: 'stuff' }); this.assertHTML('Content Here'); this.assertStableRerender(); @@ -217,7 +217,7 @@ export class InitialRenderSuite extends RenderTest { @test 'Quoted attribute null values do not disable'() { - this.render('', { isDisabled: null }); + this.render('', { isDisabled: null }); this.assertHTML(''); this.assertStableRerender(); @@ -240,7 +240,7 @@ export class InitialRenderSuite extends RenderTest { @test 'Unquoted attribute null values do not disable'() { - this.render('', { isDisabled: null }); + this.render('', { isDisabled: null }); this.assertHTML(''); this.assertStableRerender(); @@ -262,7 +262,7 @@ export class InitialRenderSuite extends RenderTest { @test 'Quoted attribute string values'() { - this.render("", { src: 'image.png' }); + this.render("", { src: 'image.png' }); this.assertHTML(""); this.assertStableRerender(); @@ -281,7 +281,7 @@ export class InitialRenderSuite extends RenderTest { @test 'Unquoted attribute string values'() { - this.render('', { src: 'image.png' }); + this.render('', { src: 'image.png' }); this.assertHTML(""); this.assertStableRerender(); @@ -300,7 +300,7 @@ export class InitialRenderSuite extends RenderTest { @test 'Unquoted img src attribute is not rendered when set to `null`'() { - this.render("", { src: null }); + this.render("", { src: null }); this.assertHTML(''); this.assertStableRerender(); @@ -319,7 +319,7 @@ export class InitialRenderSuite extends RenderTest { @test 'Unquoted img src attribute is not rendered when set to `undefined`'() { - this.render("", { src: undefined }); + this.render("", { src: undefined }); this.assertHTML(''); this.assertStableRerender(); @@ -338,7 +338,7 @@ export class InitialRenderSuite extends RenderTest { @test 'Unquoted a href attribute is not rendered when set to `null`'() { - this.render('
', { href: null }); + this.render('', { href: null }); this.assertHTML(''); this.assertStableRerender(); @@ -357,7 +357,7 @@ export class InitialRenderSuite extends RenderTest { @test 'Unquoted a href attribute is not rendered when set to `undefined`'() { - this.render('', { href: undefined }); + this.render('', { href: undefined }); this.assertHTML(''); this.assertStableRerender(); @@ -376,7 +376,7 @@ export class InitialRenderSuite extends RenderTest { @test 'Attribute expression can be followed by another attribute'() { - this.render("
", { funstuff: 'oh my' }); + this.render("
", { funstuff: 'oh my' }); this.assertHTML("
"); this.assertStableRerender(); @@ -399,7 +399,7 @@ export class InitialRenderSuite extends RenderTest { strip` `, @@ -469,11 +469,11 @@ export class InitialRenderSuite extends RenderTest { strip` `, { somethingTrue: true, @@ -531,39 +531,39 @@ export class InitialRenderSuite extends RenderTest { @test 'Curlies in HTML comments'() { - this.render('
', { foo: 'foo' }); - this.assertHTML('
'); + this.render('
', { foo: 'foo' }); + this.assertHTML('
'); this.assertStableRerender(); this.rerender({ foo: 'bar' }); - this.assertHTML('
'); + this.assertHTML('
'); this.assertStableNodes(); this.rerender({ foo: '' }); - this.assertHTML('
'); + this.assertHTML('
'); this.assertStableNodes(); this.rerender({ foo: 'foo' }); - this.assertHTML('
'); + this.assertHTML('
'); this.assertStableNodes(); } @test 'Complex Curlies in HTML comments'() { - this.render('
', { foo: 'foo' }); - this.assertHTML('
'); + this.render('
', { foo: 'foo' }); + this.assertHTML('
'); this.assertStableRerender(); this.rerender({ foo: 'bar' }); - this.assertHTML('
'); + this.assertHTML('
'); this.assertStableNodes(); this.rerender({ foo: '' }); - this.assertHTML('
'); + this.assertHTML('
'); this.assertStableNodes(); this.rerender({ foo: 'foo' }); - this.assertHTML('
'); + this.assertHTML('
'); this.assertStableNodes(); } @@ -576,8 +576,8 @@ export class InitialRenderSuite extends RenderTest { @test 'Top level comments'() { - this.render(''); - this.assertHTML(''); + this.render(''); + this.assertHTML(''); this.assertStableRerender(); } @@ -598,7 +598,7 @@ export class InitialRenderSuite extends RenderTest { @test 'svg href attribute with quotation marks'() { this.render( - ``, + ``, { iconLink: 'home' } ); this.assertHTML( @@ -616,7 +616,7 @@ export class InitialRenderSuite extends RenderTest { @test 'svg href attribute without quotation marks'() { this.render( - ``, + ``, { iconLink: 'home' } ); this.assertHTML( @@ -760,7 +760,7 @@ export class InitialRenderSuite extends RenderTest { @test 'Text curlies'() { - this.render('
{{title}}{{title}}
', { title: 'hello' }); + this.render('
{{this.title}}{{this.title}}
', { title: 'hello' }); this.assertHTML('
hellohello
'); this.assertStableRerender(); @@ -779,28 +779,33 @@ export class InitialRenderSuite extends RenderTest { @test 'Repaired text nodes are ensured in the right place Part 1'() { - this.render('{{a}} {{b}}', { a: 'A', b: 'B', c: 'C', d: 'D' }); + this.render('{{this.a}} {{this.b}}', { a: 'A', b: 'B', c: 'C', d: 'D' }); this.assertHTML('A B'); this.assertStableRerender(); } @test 'Repaired text nodes are ensured in the right place Part 2'() { - this.render('
{{a}}{{b}}{{c}}wat{{d}}
', { a: 'A', b: 'B', c: 'C', d: 'D' }); + this.render('
{{this.a}}{{this.b}}{{this.c}}wat{{this.d}}
', { + a: 'A', + b: 'B', + c: 'C', + d: 'D', + }); this.assertHTML('
ABCwatD
'); this.assertStableRerender(); } @test 'Repaired text nodes are ensured in the right place Part 3'() { - this.render('{{a}}{{b}}', { a: 'A', b: 'B', c: 'C', d: 'D' }); + this.render('{{this.a}}{{this.b}}', { a: 'A', b: 'B', c: 'C', d: 'D' }); this.assertHTML('AB'); this.assertStableRerender(); } @test 'Path expressions'() { - this.render('
{{model.foo.bar}}{{model.foo.bar}}
', { + this.render('
{{this.model.foo.bar}}{{this.model.foo.bar}}
', { model: { foo: { bar: 'hello' } }, }); this.assertHTML('
hellohello
'); @@ -821,7 +826,9 @@ export class InitialRenderSuite extends RenderTest { @test 'Text curlies perform escaping'() { - this.render('
{{title}}{{title}}
', { title: 'hello' }); + this.render('
{{this.title}}{{this.title}}
', { + title: 'hello', + }); this.assertHTML( '
<strong>hello</strong><strong>hello</strong>
' ); @@ -844,7 +851,7 @@ export class InitialRenderSuite extends RenderTest { @test 'Rerender respects whitespace'() { - this.render('Hello {{ foo }} ', { foo: 'bar' }); + this.render('Hello {{ this.foo }} ', { foo: 'bar' }); this.assertHTML('Hello bar '); this.assertStableRerender(); @@ -868,7 +875,7 @@ export class InitialRenderSuite extends RenderTest { return 'hello world'; }, }; - this.render('
{{title}}
', { title }); + this.render('
{{this.title}}
', { title }); this.assertHTML('
hello world
'); this.assertStableRerender(); } @@ -876,7 +883,7 @@ export class InitialRenderSuite extends RenderTest { @test 'Triple curlies'() { let title = 'hello world'; - this.render('
{{{title}}}
', { title }); + this.render('
{{{this.title}}}
', { title }); this.assertHTML('
hello world
'); this.assertStableRerender(); } @@ -893,7 +900,7 @@ export class InitialRenderSuite extends RenderTest { @test 'Top level triple curlies'() { let title = 'hello world'; - this.render('{{{title}}}', { title }); + this.render('{{{this.title}}}', { title }); this.assertHTML('hello world'); this.assertStableRerender(); } @@ -901,14 +908,14 @@ export class InitialRenderSuite extends RenderTest { @test 'Top level unescaped tr'() { let title = 'Yo'; - this.render('{{{title}}}
', { title }); + this.render('{{{this.title}}}
', { title }); this.assertHTML('
Yo
'); this.assertStableRerender(); } @test 'The compiler can handle top-level unescaped td inside tr contextualElement'() { - this.render('{{{html}}}', { html: 'Yo' }); + this.render('{{{this.html}}}', { html: 'Yo' }); this.assertHTML('Yo'); this.assertStableRerender(); } @@ -916,7 +923,7 @@ export class InitialRenderSuite extends RenderTest { @test 'Extreme nesting'() { this.render( - '{{foo}}{{bar}}{{baz}}{{boo}}{{brew}}{{bat}}{{flute}}{{argh}}', + '{{this.foo}}{{this.bar}}{{this.baz}}{{this.boo}}{{this.brew}}{{this.bat}}{{this.flute}}{{this.argh}}', { foo: 'FOO', bar: 'BAR', @@ -936,7 +943,7 @@ export class InitialRenderSuite extends RenderTest { @test 'Simple blocks'() { - this.render('
{{#if admin}}

{{user}}

{{/if}}!
', { + this.render('
{{#if this.admin}}

{{this.user}}

{{/if}}!
', { admin: true, user: 'chancancode', }); @@ -958,11 +965,14 @@ export class InitialRenderSuite extends RenderTest { @test 'Nested blocks'() { - this.render('
{{#if admin}}{{#if access}}

{{user}}

{{/if}}{{/if}}!
', { - admin: true, - access: true, - user: 'chancancode', - }); + this.render( + '
{{#if this.admin}}{{#if this.access}}

{{this.user}}

{{/if}}{{/if}}!
', + { + admin: true, + access: true, + user: 'chancancode', + } + ); this.assertHTML('

chancancode

!
'); this.assertStableRerender(); @@ -988,7 +998,7 @@ export class InitialRenderSuite extends RenderTest { @test Loops() { this.render( - '
{{#each people key="handle" as |p|}}{{p.handle}} - {{p.name}}{{/each}}
', + '
{{#each this.people key="handle" as |p|}}{{p.handle}} - {{p.name}}{{/each}}
', { people: [ { handle: 'tomdale', name: 'Tom Dale' }, @@ -1018,7 +1028,7 @@ export class InitialRenderSuite extends RenderTest { @test 'Simple helpers'() { this.registerHelper('testing', ([id]) => id); - this.render('
{{testing title}}
', { title: 'hello' }); + this.render('
{{testing this.title}}
', { title: 'hello' }); this.assertHTML('
hello
'); this.assertStableRerender(); } @@ -1223,11 +1233,14 @@ export class InitialRenderSuite extends RenderTest { return '' + params[0] + params[1]; }); - this.render('
{{testing (testing "hello" foo) (testing (testing bar "lol") baz)}}
', { - foo: 'FOO', - bar: 'BAR', - baz: 'BAZ', - }); + this.render( + '
{{testing (testing "hello" this.foo) (testing (testing this.bar "lol") this.baz)}}
', + { + foo: 'FOO', + bar: 'BAR', + baz: 'BAZ', + } + ); this.assertHTML('
helloFOOBARlolBAZ
'); this.assertStableRerender(); } @@ -1249,7 +1262,7 @@ export class InitialRenderSuite extends RenderTest { return params[0]; }); - this.render('linky', { url: 'linky.html' }); + this.render('linky', { url: 'linky.html' }); this.assertHTML('linky'); this.assertStableRerender(); } @@ -1260,7 +1273,7 @@ export class InitialRenderSuite extends RenderTest { return hash['path']; }); - this.render('linky', { url: 'linky.html' }); + this.render('linky', { url: 'linky.html' }); this.assertHTML('linky'); this.assertStableRerender(); } @@ -1271,7 +1284,7 @@ export class InitialRenderSuite extends RenderTest { return params[0]; }); - this.render('linky', { + this.render('linky', { foo: 'foo.com', bar: 'bar', }); diff --git a/packages/@glimmer/integration-tests/lib/suites/shadowing.ts b/packages/@glimmer/integration-tests/lib/suites/shadowing.ts index a1ecfbd944..ba15fc771a 100644 --- a/packages/@glimmer/integration-tests/lib/suites/shadowing.ts +++ b/packages/@glimmer/integration-tests/lib/suites/shadowing.ts @@ -33,7 +33,7 @@ export class ShadowingSuite extends RenderTest { this.render( { layout: 'In layout - someProp: {{@someProp}}', - args: { someProp: 'someProp' }, + args: { someProp: 'this.someProp' }, }, { someProp: 'something here' } ); @@ -60,7 +60,7 @@ export class ShadowingSuite extends RenderTest { { layoutAttributes: { 'data-name': 'Godfrey', 'data-foo': 'foo' }, layout: 'Hello!', - attributes: { 'data-name': '"{{name}}"', 'data-foo': '"{{foo}}-bar"' }, + attributes: { 'data-name': '"{{this.name}}"', 'data-foo': '"{{this.foo}}-bar"' }, }, { name: 'Godhuda', foo: 'foo' } ); @@ -87,7 +87,7 @@ export class ShadowingSuite extends RenderTest { { layoutAttributes: { 'data-name': '{{@name}}', 'data-foo': '"{{@foo}}-bar"' }, layout: 'Hello!', - args: { name: 'name', foo: 'foo' }, + args: { name: 'this.name', foo: 'this.foo' }, attributes: { 'data-name': '"Godhuda"', 'data-foo': '"foo-bar"' }, }, { name: 'Godfrey', foo: 'foo' } diff --git a/packages/@glimmer/integration-tests/lib/suites/ssr.ts b/packages/@glimmer/integration-tests/lib/suites/ssr.ts index 7ce4684794..ee769b17b4 100644 --- a/packages/@glimmer/integration-tests/lib/suites/ssr.ts +++ b/packages/@glimmer/integration-tests/lib/suites/ssr.ts @@ -44,19 +44,19 @@ export class ServerSideSuite extends AbstractNodeTest { @test 'Quoted attribute expression is removed when null'() { - this.render('', { isDisabled: null }); + this.render('', { isDisabled: null }); this.assertHTML(''); } @test 'Unquoted attribute expression with null value is not coerced'() { - this.render('', { isDisabled: null }); + this.render('', { isDisabled: null }); this.assertHTML(''); } @test 'Attribute expression can be followed by another attribute'() { - this.render('
', { funstuff: 'oh my' }); + this.render('
', { funstuff: 'oh my' }); this.assertHTML('
'); } @@ -111,19 +111,19 @@ export class ServerSideSuite extends AbstractNodeTest { @test 'The compiler can handle simple handlebars'() { - this.render('
{{title}}
', { title: 'hello' }); + this.render('
{{this.title}}
', { title: 'hello' }); this.assertHTML('
hello
'); } @test 'The compiler can handle escaping HTML'() { - this.render('
{{title}}
', { title: 'hello' }); + this.render('
{{this.title}}
', { title: 'hello' }); this.assertHTML('
<strong>hello</strong>
'); } @test 'The compiler can handle unescaped HTML'() { - this.render('
{{{title}}}
', { title: 'hello' }); + this.render('
{{{this.title}}}
', { title: 'hello' }); this.assertHTML('
hello
'); } @@ -146,7 +146,7 @@ export class ServerSideSuite extends AbstractNodeTest { return params[0]; }); - this.render('linky', { url: 'linky.html' }); + this.render('linky', { url: 'linky.html' }); this.assertHTML('linky'); } @@ -215,7 +215,7 @@ export class ServerSideComponentSuite extends AbstractNodeTest { { layout: '

Hello {{@place}}!

', template: 'World', - args: { place: 'place' }, + args: { place: 'this.place' }, }, { place: 'World' } ); @@ -228,7 +228,7 @@ export class ServerSideComponentSuite extends AbstractNodeTest { { layout: '

Hello {{yield @place}}!

', template: '{{place}}', - args: { place: 'place' }, + args: { place: 'this.place' }, blockParams: ['place'], }, { place: 'World' } diff --git a/packages/@glimmer/integration-tests/lib/suites/with-dynamic-vars.ts b/packages/@glimmer/integration-tests/lib/suites/with-dynamic-vars.ts index 603b060bbf..7608fcddf8 100644 --- a/packages/@glimmer/integration-tests/lib/suites/with-dynamic-vars.ts +++ b/packages/@glimmer/integration-tests/lib/suites/with-dynamic-vars.ts @@ -9,7 +9,7 @@ export class WithDynamicVarsSuite extends RenderTest { { layout: '{{#-with-dynamic-vars myKeyword=@value}}{{yield}}{{/-with-dynamic-vars}}', template: '{{-get-dynamic-var "myKeyword"}}', - args: { value: 'value' }, + args: { value: 'this.value' }, }, { value: 'hello' } ); @@ -32,8 +32,8 @@ export class WithDynamicVarsSuite extends RenderTest { { layout: '{{#-with-dynamic-vars myKeyword=@value1 secondKeyword=@value2}}{{yield}}{{/-with-dynamic-vars}}', - template: '{{keyword}}-{{-get-dynamic-var keyword}}', - args: { value1: 'value1', value2: 'value2' }, + template: '{{this.keyword}}-{{-get-dynamic-var this.keyword}}', + args: { value1: 'this.value1', value2: 'this.value2' }, }, { value1: 'hello', value2: 'goodbye', keyword: 'myKeyword' } ); @@ -61,7 +61,7 @@ export class WithDynamicVarsSuite extends RenderTest { layout: '{{#-with-dynamic-vars myKeyword=@outer}}
{{-get-dynamic-var "myKeyword"}}
{{#-with-dynamic-vars myKeyword=@inner}}{{yield}}{{/-with-dynamic-vars}}
{{-get-dynamic-var "myKeyword"}}
{{/-with-dynamic-vars}}', template: '
{{-get-dynamic-var "myKeyword"}}
', - args: { outer: 'outer', inner: 'inner' }, + args: { outer: 'this.outer', inner: 'this.inner' }, }, { outer: 'original', inner: 'shadowed' } ); diff --git a/packages/@glimmer/integration-tests/lib/suites/yield.ts b/packages/@glimmer/integration-tests/lib/suites/yield.ts index e5078f73ca..c4cb9df324 100644 --- a/packages/@glimmer/integration-tests/lib/suites/yield.ts +++ b/packages/@glimmer/integration-tests/lib/suites/yield.ts @@ -10,10 +10,10 @@ export class YieldSuite extends RenderTest { { layout: '{{#if @predicate}}Yes:{{yield @someValue}}{{else}}No:{{yield to="inverse"}}{{/if}}', - args: { predicate: 'activated', someValue: '42' }, + args: { predicate: 'this.activated', someValue: '42' }, blockParams: ['result'], - template: 'Hello{{result}}{{outer}}', - else: 'Goodbye{{outer}}', + template: 'Hello{{result}}{{this.outer}}', + else: 'Goodbye{{this.outer}}', }, { activated: true, outer: 'outer' } ); @@ -30,10 +30,10 @@ export class YieldSuite extends RenderTest { { layout: '{{#if @predicate}}Yes:{{yield @someValue}}{{else}}No:{{yield to="inverse"}}{{/if}}', - args: { predicate: 'activated', someValue: '42' }, + args: { predicate: 'this.activated', someValue: '42' }, blockParams: ['result'], - template: 'Hello{{result}}{{outer}}', - else: 'Goodbye{{outer}}', + template: 'Hello{{result}}{{this.outer}}', + else: 'Goodbye{{this.outer}}', }, { activated: false, outer: 'outer' } ); @@ -49,10 +49,10 @@ export class YieldSuite extends RenderTest { this.render( { layout: '{{#if @predicate}}Yes:{{yield @someValue}}{{else}}No:{{yield to="else"}}{{/if}}', - args: { predicate: 'activated', someValue: '42' }, + args: { predicate: 'this.activated', someValue: '42' }, blockParams: ['result'], - template: 'Hello{{result}}{{outer}}', - else: 'Goodbye{{outer}}', + template: 'Hello{{result}}{{this.outer}}', + else: 'Goodbye{{this.outer}}', }, { activated: false, outer: 'outer' } ); @@ -88,7 +88,7 @@ export class YieldSuite extends RenderTest { }) 'use a non-existent block param'() { this.render({ - layout: '{{yield someValue}}', + layout: '{{yield this.someValue}}', args: { someValue: '42' }, blockParams: ['val1', 'val2'], template: '{{val1}} - {{val2}}', @@ -199,7 +199,7 @@ export class YieldSuite extends RenderTest { { layout: 'In layout -- {{#if @predicate}}{{yield}}{{/if}}', template: 'In template', - args: { predicate: 'predicate' }, + args: { predicate: 'this.predicate' }, }, { predicate: true } ); diff --git a/packages/@glimmer/integration-tests/test/attributes-test.ts b/packages/@glimmer/integration-tests/test/attributes-test.ts index 1b1e092cec..20408169aa 100644 --- a/packages/@glimmer/integration-tests/test/attributes-test.ts +++ b/packages/@glimmer/integration-tests/test/attributes-test.ts @@ -50,7 +50,7 @@ export class AttributesTests extends RenderTest { @test 'disable updates properly'() { - this.render('', { enabled: true }); + this.render('', { enabled: true }); this.assertHTML(''); this.assertStableRerender(); @@ -81,7 +81,7 @@ export class AttributesTests extends RenderTest { @test 'Quoted disabled is always disabled if a not-null, not-undefined value is given'() { - this.render('', { enabled: true }); + this.render('', { enabled: true }); this.assertHTML(''); this.assertStableRerender(); @@ -122,7 +122,7 @@ export class AttributesTests extends RenderTest { @test 'div[href] is not marked as unsafe'() { - this.render('
', { foo: 'javascript:foo()' }); + this.render('
', { foo: 'javascript:foo()' }); this.assertHTML('
'); this.assertStableRerender(); @@ -137,7 +137,7 @@ export class AttributesTests extends RenderTest { @test 'triple curlies in attribute position'() { - this.render('
Hello
', { + this.render('
Hello
', { rawString: 'TRIPLE', }); this.assertHTML('
Hello
'); @@ -182,7 +182,7 @@ export class AttributesTests extends RenderTest { @test 'can set attributes on form properties'() { - this.render('
', { foo: 'bar' }); + this.render('
', { foo: 'bar' }); let outputElement = assertElement(this.element.lastChild); @@ -195,7 +195,7 @@ export class AttributesTests extends RenderTest { @test 'handles null input values'() { - this.render('', { isNull: null }); + this.render('', { isNull: null }); this.assert.equal(this.readDOMAttr('value'), ''); this.assertStableRerender(); @@ -210,7 +210,7 @@ export class AttributesTests extends RenderTest { @test 'handles undefined input values'() { - this.render('', { isUndefined: null }); + this.render('', { isUndefined: null }); this.assert.equal(this.readDOMAttr('value'), ''); this.assertStableRerender(); @@ -226,7 +226,7 @@ export class AttributesTests extends RenderTest { @test 'handles undefined `toString` input values'() { let obj = Object.create(null); - this.render('', { obj }); + this.render('', { obj }); this.assert.equal(this.readDOMAttr('value'), ''); this.assertStableRerender(); @@ -249,7 +249,7 @@ export class AttributesTests extends RenderTest { } }); - this.render('', { foo: true }); + this.render('', { foo: true }); this.assert.equal(this.readDOMAttr('checked'), true); this.assertStableRerender(); @@ -264,7 +264,7 @@ export class AttributesTests extends RenderTest { @test 'input[checked] prop updates when set to null'() { - this.render('', { foo: true }); + this.render('', { foo: true }); this.assert.equal(this.readDOMAttr('checked'), true); this.assertStableRerender(); @@ -281,7 +281,7 @@ export class AttributesTests extends RenderTest { 'select[value] prop updates when set to undefined'() { // setting `select[value]` only works after initial render, just use this.render( - '', + '', { foo: undefined } ); this.assert.equal(this.readDOMAttr('value'), 'us'); @@ -299,7 +299,7 @@ export class AttributesTests extends RenderTest { @test 'handles empty string textarea values'() { - this.render('