From 2f86bd339dd0b28af201d0b9ca48fc87e3b18af9 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Sun, 15 Apr 2018 19:08:49 -0400 Subject: [PATCH] update tests to account for removal of observe --- src/generators/nodes/Element.ts | 10 +------ src/generators/nodes/Window.ts | 10 +------ src/shared/index.js | 15 +---------- test/custom-elements/samples/html/test.js | 2 +- .../samples/binding-input/_config.js | 2 +- .../samples/event-handler/_config.js | 2 +- .../attribute-dynamic-shorthand/_config.js | 2 -- .../samples/await-then-catch-event/_config.js | 4 +-- .../_config.js | 16 ++++++------ .../binding-indirect-computed/_config.js | 2 +- .../samples/binding-indirect/_config.js | 6 ++--- .../_config.js | 4 +-- .../_config.js | 4 +-- .../samples/binding-input-number/_config.js | 4 +-- .../binding-input-range-change/_config.js | 2 +- .../samples/binding-input-range/_config.js | 2 +- .../binding-input-text-contextual/_config.js | 2 +- .../_config.js | 2 +- .../_config.js | 2 +- .../binding-input-text-deep/_config.js | 2 +- .../binding-input-with-event/_config.js | 2 +- .../_config.js | 4 +-- .../binding-select-in-each-block/_config.js | 2 +- .../binding-select-in-yield/Modal.html | 2 +- .../binding-select-in-yield/_config.js | 2 +- .../binding-select-multiple/_config.js | 4 +-- .../binding-select-optgroup/_config.js | 4 +-- .../runtime/samples/binding-select/_config.js | 4 +-- .../samples/bindings-before-oncreate/One.html | 2 +- .../component-binding-blowback-b/Nested.html | 2 +- .../component-binding-blowback-c/Nested.html | 2 +- .../component-binding-blowback/_config.js | 10 +++---- .../component-binding-computed/_config.js | 4 +-- .../component-binding-deep-b/_config.js | 4 +-- .../component-binding-deep-b/main.html | 26 ++++++++++--------- .../samples/component-binding-deep/_config.js | 2 +- .../component-binding-each-nested/_config.js | 4 +-- .../samples/component-binding-each/_config.js | 2 +- .../component-binding-infinite-loop/C.html | 4 +-- .../_config.js | 4 +-- .../component-binding-nested/_config.js | 6 ++--- .../_config.js | 4 +-- .../_config.js | 4 +-- .../samples/component-binding/_config.js | 4 +-- .../_config.js | 2 -- .../samples/component-events/main.html | 2 +- .../samples/component-yield-if/_config.js | 2 +- .../samples/component-yield-parent/_config.js | 4 +-- .../runtime/samples/computed-empty/_config.js | 2 +- .../_config.js | 2 +- .../samples/computed-values/_config.js | 4 +-- test/runtime/samples/custom-method/_config.js | 4 +-- test/runtime/samples/custom-method/main.html | 2 +- .../samples/deconflict-builtins/_config.js | 2 +- .../samples/deconflict-non-helpers/_config.js | 2 +- .../_config.js | 7 ----- .../main.html | 9 ------- .../_config.js | 7 ----- .../main.html | 16 ------------ .../_config.js | 7 ----- .../main.html | 9 ------- .../dynamic-component-bindings/_config.js | 4 +-- .../dynamic-component-events/_config.js | 4 +-- .../each-block-array-literal/_config.js | 2 +- .../each-block-containing-if/_config.js | 2 +- .../event-handler-custom-context/main.html | 4 +-- .../_config.js | 4 +-- .../main.html | 2 +- .../event-handler-custom-each/_config.js | 4 +-- .../event-handler-custom-each/main.html | 2 +- .../main.html | 2 +- .../samples/event-handler-custom/main.html | 2 +- .../_config.js | 4 +-- .../event-handler-event-methods/_config.js | 4 +-- .../samples/event-handler-removal/_config.js | 4 +-- .../samples/flush-before-bindings/_config.js | 2 +- .../samples/flush-before-bindings/main.html | 14 ++++++---- test/runtime/samples/get-state/_config.js | 4 +-- .../_config.js | 2 +- .../samples/immutable-mutable/Nested.html | 18 ++++++------- .../samples/immutable-mutable/_config.js | 12 +++++---- .../samples/immutable-nested/_config.js | 12 +++++---- .../runtime/samples/immutable-root/_config.js | 12 +++++---- .../_config.js | 6 ++--- .../_config.js | 10 +++---- .../samples/observe-deferred/main.html | 10 +++---- .../samples/observe-prevents-loop/_config.js | 20 +++++++------- .../oncreate-sibling-order/Nested.html | 2 +- test/runtime/samples/onrender-chain/Item.html | 10 +++---- .../samples/select-bind-in-array/_config.js | 2 +- .../samples/select-change-handler/_config.js | 4 +-- test/runtime/samples/select-props/_config.js | 2 +- .../Widget.html | 17 ------------ .../samples/set-in-ondestroy/_config.js | 8 +++--- .../Widget.html | 13 ++++++++++ .../_config.js | 0 .../main.html | 8 +++--- .../_config.js | 0 .../main.html | 8 +++--- test/runtime/samples/store-binding/_config.js | 2 +- .../store-component-binding-deep/_config.js | 10 +++---- .../store-component-binding-each/_config.js | 2 +- .../store-component-binding/_config.js | 10 +++---- .../runtime/samples/store-computed/_config.js | 2 +- test/runtime/samples/store-event/_config.js | 2 +- .../samples/window-event-context/_config.js | 4 +-- 106 files changed, 238 insertions(+), 320 deletions(-) delete mode 100644 test/runtime/samples/dev-warning-bad-observe-arguments/_config.js delete mode 100644 test/runtime/samples/dev-warning-bad-observe-arguments/main.html delete mode 100644 test/runtime/samples/dev-warning-custom-event-destroy-not-teardown/_config.js delete mode 100644 test/runtime/samples/dev-warning-custom-event-destroy-not-teardown/main.html delete mode 100644 test/runtime/samples/dev-warning-destroy-not-teardown/_config.js delete mode 100644 test/runtime/samples/dev-warning-destroy-not-teardown/main.html delete mode 100644 test/runtime/samples/set-in-observe-dedupes-renders/Widget.html create mode 100644 test/runtime/samples/set-in-onstate-dedupes-renders/Widget.html rename test/runtime/samples/{set-in-observe-dedupes-renders => set-in-onstate-dedupes-renders}/_config.js (100%) rename test/runtime/samples/{set-in-observe-dedupes-renders => set-in-onstate-dedupes-renders}/main.html (69%) rename test/runtime/samples/{set-in-observe => set-in-onstate}/_config.js (100%) rename test/runtime/samples/{set-in-observe => set-in-onstate}/main.html (52%) diff --git a/src/generators/nodes/Element.ts b/src/generators/nodes/Element.ts index d9f4e8f974..6bf67c1c95 100644 --- a/src/generators/nodes/Element.ts +++ b/src/generators/nodes/Element.ts @@ -580,16 +580,8 @@ export default class Element extends Node { }); `); - if (generator.options.dev) { - block.builders.hydrate.addBlock(deindent` - if (${handlerName}.teardown) { - console.warn("Return 'destroy()' from custom event handlers. Returning 'teardown()' has been deprecated and will be unsupported in Svelte 2"); - } - `); - } - block.builders.destroy.addLine(deindent` - ${handlerName}[${handlerName}.destroy ? 'destroy' : 'teardown'](); + ${handlerName}.destroy(); `); } else { const handler = deindent` diff --git a/src/generators/nodes/Window.ts b/src/generators/nodes/Window.ts index 40138913e6..92e55025b3 100644 --- a/src/generators/nodes/Window.ts +++ b/src/generators/nodes/Window.ts @@ -86,16 +86,8 @@ export default class Window extends Node { }); `); - if (generator.options.dev) { - block.builders.hydrate.addBlock(deindent` - if (${handlerName}.teardown) { - console.warn("Return 'destroy()' from custom event handlers. Returning 'teardown()' has been deprecated and will be unsupported in Svelte 2"); - } - `); - } - block.builders.destroy.addLine(deindent` - ${handlerName}[${handlerName}.destroy ? 'destroy' : 'teardown'](); + ${handlerName}.destroy(); `); } else { block.builders.init.addBlock(deindent` diff --git a/src/shared/index.js b/src/shared/index.js index 32b59dfde3..0d7cb43bdd 100644 --- a/src/shared/index.js +++ b/src/shared/index.js @@ -65,8 +65,6 @@ export function init(component, options) { } export function on(eventName, handler) { - if (eventName === 'teardown') return this.on('destroy', handler); - var handlers = this._handlers[eventName] || (this._handlers[eventName] = []); handlers.push(handler); @@ -78,17 +76,6 @@ export function on(eventName, handler) { }; } -export function onDev(eventName, handler) { - if (eventName === 'teardown') { - console.warn( - "Use component.on('destroy', ...) instead of component.on('teardown', ...) which has been deprecated and will be unsupported in Svelte 2" - ); - return this.on('destroy', handler); - } - - return on.call(this, eventName, handler); -} - export function run(fn) { fn(); } @@ -176,7 +163,7 @@ export var protoDev = { destroy: destroyDev, get, fire, - on: onDev, + on, set: setDev, _recompute: noop, _set, diff --git a/test/custom-elements/samples/html/test.js b/test/custom-elements/samples/html/test.js index a9aa2c7129..9f0a925b43 100644 --- a/test/custom-elements/samples/html/test.js +++ b/test/custom-elements/samples/html/test.js @@ -5,7 +5,7 @@ export default function (target) { target.innerHTML = ''; const el = target.querySelector('custom-element'); - assert.equal(el.get('name'), 'world'); + assert.equal(el.get().name, 'world'); const h1 = el.shadowRoot.querySelector('h1'); assert.equal(h1.textContent, 'Hello world!'); diff --git a/test/hydration/samples/binding-input/_config.js b/test/hydration/samples/binding-input/_config.js index 86ba3fe9ec..7dc18c8a6a 100644 --- a/test/hydration/samples/binding-input/_config.js +++ b/test/hydration/samples/binding-input/_config.js @@ -20,7 +20,7 @@ export default { input.value = 'everybody'; input.dispatchEvent(new window.Event('input')); - assert.equal(component.get('name'), 'everybody'); + assert.equal(component.get().name, 'everybody'); assert.htmlEqual(target.innerHTML, `

Hello everybody!

diff --git a/test/hydration/samples/event-handler/_config.js b/test/hydration/samples/event-handler/_config.js index 4cd132f801..233bafe38a 100644 --- a/test/hydration/samples/event-handler/_config.js +++ b/test/hydration/samples/event-handler/_config.js @@ -17,7 +17,7 @@ export default { button.dispatchEvent(new window.MouseEvent('click')); - assert.ok(component.get('clicked')); + assert.ok(component.get().clicked); assert.htmlEqual(target.innerHTML, `

clicked!

diff --git a/test/runtime/samples/attribute-dynamic-shorthand/_config.js b/test/runtime/samples/attribute-dynamic-shorthand/_config.js index 1ecd6c650a..e8ed048835 100644 --- a/test/runtime/samples/attribute-dynamic-shorthand/_config.js +++ b/test/runtime/samples/attribute-dynamic-shorthand/_config.js @@ -4,7 +4,5 @@ export default { test ( assert, component, target ) { component.set({ id: 'bar' }); assert.equal( target.innerHTML, `
` ); - - component.teardown(); } }; diff --git a/test/runtime/samples/await-then-catch-event/_config.js b/test/runtime/samples/await-then-catch-event/_config.js index f88a58ff12..ec047fce02 100644 --- a/test/runtime/samples/await-then-catch-event/_config.js +++ b/test/runtime/samples/await-then-catch-event/_config.js @@ -26,7 +26,7 @@ export default { const click = new window.MouseEvent('click'); button.dispatchEvent(click); - assert.equal(component.get('clicked'), 42); + assert.equal(component.get().clicked, 42); thePromise = Promise.resolve(43); component.set({ thePromise }); @@ -39,7 +39,7 @@ export default { const click = new window.MouseEvent('click'); button.dispatchEvent(click); - assert.equal(component.get('clicked'), 43); + assert.equal(component.get().clicked, 43); }); } }; \ No newline at end of file diff --git a/test/runtime/samples/binding-audio-currenttime-duration-volume/_config.js b/test/runtime/samples/binding-audio-currenttime-duration-volume/_config.js index abb0eeaacb..62312d17a9 100644 --- a/test/runtime/samples/binding-audio-currenttime-duration-volume/_config.js +++ b/test/runtime/samples/binding-audio-currenttime-duration-volume/_config.js @@ -5,10 +5,10 @@ export default { skip: true, test ( assert, component, target, window ) { - assert.equal( component.get( 't' ), 0 ); - assert.equal( component.get( 'd' ), 0 ); - assert.equal( component.get( 'v' ), 0.5 ); - assert.equal( component.get( 'paused' ), true ); + assert.equal( component.get().t, 0 ); + assert.equal( component.get().d, 0 ); + assert.equal( component.get().v, 0.5 ); + assert.equal( component.get().paused, true ); const audio = target.querySelector( 'audio' ); const timeupdate = new window.Event( 'timeupdate' ); @@ -23,10 +23,10 @@ export default { audio.dispatchEvent( volumechange ); audio.play(); - assert.equal( component.get( 't' ), 10 ); - assert.equal( component.get( 'd' ), 0 ); // not 20, because read-only. Not sure how to test this! - assert.equal( component.get( 'v' ), 0.75 ); - assert.equal( component.get( 'paused' ), true ); // ditto... + assert.equal( component.get().t, 10 ); + assert.equal( component.get().d, 0 ); // not 20, because read-only. Not sure how to test this! + assert.equal( component.get().v, 0.75 ); + assert.equal( component.get().paused, true ); // ditto... component.destroy(); } }; diff --git a/test/runtime/samples/binding-indirect-computed/_config.js b/test/runtime/samples/binding-indirect-computed/_config.js index f7ac841f21..595c5f3a95 100644 --- a/test/runtime/samples/binding-indirect-computed/_config.js +++ b/test/runtime/samples/binding-indirect-computed/_config.js @@ -18,7 +18,7 @@ export default { options[1].selected = true; select.dispatchEvent(change); - assert.equal(component.get('selected').letter, 'B'); + assert.equal(component.get().selected.letter, 'B'); assert.htmlEqual(target.innerHTML, ` @@ -63,13 +63,13 @@ export default { options[1].selected = true; select.dispatchEvent(change); - assert.equal(component.get('selected'), tasks[1]); + assert.equal(component.get().selected, tasks[1]); assert.ok(!input.checked); input.checked = true; input.dispatchEvent(change); - assert.ok(component.get('tasks')[1].done); + assert.ok(component.get().tasks[1].done); assert.htmlEqual(target.innerHTML, `

one

two

three

2 completed

` ); - const items = component.get( 'items' ); + const items = component.get().items; items[2].completed = true; component.set({ items }); diff --git a/test/runtime/samples/binding-input-checkbox-indeterminate/_config.js b/test/runtime/samples/binding-input-checkbox-indeterminate/_config.js index 3d905e5a9e..b480fbac3e 100644 --- a/test/runtime/samples/binding-input-checkbox-indeterminate/_config.js +++ b/test/runtime/samples/binding-input-checkbox-indeterminate/_config.js @@ -22,8 +22,8 @@ export default { input.indeterminate = false; input.dispatchEvent(event); - assert.equal(component.get('indeterminate'), false); - assert.equal(component.get('checked'), true); + assert.equal(component.get().indeterminate, false); + assert.equal(component.get().checked, true); assert.htmlEqual(target.innerHTML, `

checked? true

diff --git a/test/runtime/samples/binding-input-number/_config.js b/test/runtime/samples/binding-input-number/_config.js index 8fd406a2c4..66e0df8a35 100644 --- a/test/runtime/samples/binding-input-number/_config.js +++ b/test/runtime/samples/binding-input-number/_config.js @@ -17,7 +17,7 @@ export default { input.value = '43'; input.dispatchEvent( event ); - assert.equal( component.get( 'count' ), 43 ); + assert.equal( component.get().count, 43 ); assert.htmlEqual( target.innerHTML, `

number 43

@@ -34,7 +34,7 @@ export default { input.value = ''; input.dispatchEvent( event ); - assert.equal( component.get( 'count' ), undefined ); + assert.equal( component.get().count, undefined ); assert.htmlEqual( target.innerHTML, `

undefined undefined

diff --git a/test/runtime/samples/binding-input-range-change/_config.js b/test/runtime/samples/binding-input-range-change/_config.js index dd4b5f08a1..b76a8cffb4 100644 --- a/test/runtime/samples/binding-input-range-change/_config.js +++ b/test/runtime/samples/binding-input-range-change/_config.js @@ -17,7 +17,7 @@ export default { input.value = '43'; input.dispatchEvent( event ); - assert.equal( component.get( 'count' ), 43 ); + assert.equal( component.get().count, 43 ); assert.htmlEqual( target.innerHTML, `

number 43

diff --git a/test/runtime/samples/binding-input-range/_config.js b/test/runtime/samples/binding-input-range/_config.js index c1ff309e2f..15c602e7f4 100644 --- a/test/runtime/samples/binding-input-range/_config.js +++ b/test/runtime/samples/binding-input-range/_config.js @@ -17,7 +17,7 @@ export default { input.value = '43'; input.dispatchEvent( event ); - assert.equal( component.get( 'count' ), 43 ); + assert.equal( component.get().count, 43 ); assert.htmlEqual( target.innerHTML, `

number 43

diff --git a/test/runtime/samples/binding-input-text-contextual/_config.js b/test/runtime/samples/binding-input-text-contextual/_config.js index 332d2c6f39..a8949510d7 100644 --- a/test/runtime/samples/binding-input-text-contextual/_config.js +++ b/test/runtime/samples/binding-input-text-contextual/_config.js @@ -9,7 +9,7 @@ export default { html: `

one

two

three

`, test ( assert, component, target, window ) { const inputs = [ ...target.querySelectorAll( 'input' ) ]; - const items = component.get( 'items' ); + const items = component.get().items; const event = new window.Event( 'input' ); assert.equal( inputs[0].value, 'one' ); diff --git a/test/runtime/samples/binding-input-text-deep-computed/_config.js b/test/runtime/samples/binding-input-text-deep-computed/_config.js index 597395ed52..33cc605a61 100644 --- a/test/runtime/samples/binding-input-text-deep-computed/_config.js +++ b/test/runtime/samples/binding-input-text-deep-computed/_config.js @@ -20,7 +20,7 @@ export default { assert.equal( target.innerHTML, `\n

hello bob

` ); - const user = component.get( 'user' ); + const user = component.get().user; user.name = 'carol'; component.set({ user }); diff --git a/test/runtime/samples/binding-input-text-deep-contextual/_config.js b/test/runtime/samples/binding-input-text-deep-contextual/_config.js index 587110786c..8cf72df956 100644 --- a/test/runtime/samples/binding-input-text-deep-contextual/_config.js +++ b/test/runtime/samples/binding-input-text-deep-contextual/_config.js @@ -19,7 +19,7 @@ export default { assert.equal( target.innerHTML, `

one

four

three

` ); - const items = component.get( 'items' ); + const items = component.get().items; items[2].description = 'five'; component.set({ items }); diff --git a/test/runtime/samples/binding-input-text-deep/_config.js b/test/runtime/samples/binding-input-text-deep/_config.js index 9ef090f864..f1abe383a6 100644 --- a/test/runtime/samples/binding-input-text-deep/_config.js +++ b/test/runtime/samples/binding-input-text-deep/_config.js @@ -19,7 +19,7 @@ export default { assert.equal( target.innerHTML, `\n

hello bob

` ); - const user = component.get( 'user' ); + const user = component.get().user; user.name = 'carol'; component.set({ user }); diff --git a/test/runtime/samples/binding-input-with-event/_config.js b/test/runtime/samples/binding-input-with-event/_config.js index c09f09439b..1b4736e0aa 100644 --- a/test/runtime/samples/binding-input-with-event/_config.js +++ b/test/runtime/samples/binding-input-with-event/_config.js @@ -13,7 +13,7 @@ export default { input.dispatchEvent( event ); assert.equal( input.value, '43' ); - assert.equal( component.get( 'a' ), 43 ); + assert.equal( component.get().a, 43 ); component.destroy(); } diff --git a/test/runtime/samples/binding-select-implicit-option-value/_config.js b/test/runtime/samples/binding-select-implicit-option-value/_config.js index 40a7364797..1ab8de20aa 100644 --- a/test/runtime/samples/binding-select-implicit-option-value/_config.js +++ b/test/runtime/samples/binding-select-implicit-option-value/_config.js @@ -19,14 +19,14 @@ export default { const options = [...target.querySelectorAll('option')]; assert.ok(options[1].selected); - assert.equal(component.get('foo'), 2); + assert.equal(component.get().foo, 2); const change = new window.Event('change'); options[2].selected = true; select.dispatchEvent(change); - assert.equal(component.get('foo'), 3); + assert.equal(component.get().foo, 3); assert.htmlEqual( target.innerHTML, ` @@ -38,7 +38,7 @@ export default { options[0].selected = true; select.dispatchEvent( change ); - assert.deepEqual( component.get( 'selected' ), [ 'one', 'three' ] ); + assert.deepEqual( component.get().selected, [ 'one', 'three' ] ); assert.htmlEqual( target.innerHTML, ` @@ -67,7 +67,7 @@ export default { textarea.value = 'two source changed'; textarea.dispatchEvent( event ); - assert.equal( component.get( 'compiled' ), 'ONE SOURCE CHANGED\nTWO SOURCE CHANGED' ); + assert.equal( component.get().compiled, 'ONE SOURCE CHANGED\nTWO SOURCE CHANGED' ); assert.htmlEqual( target.innerHTML, `

blah

diff --git a/test/runtime/samples/component-binding-each-nested/_config.js b/test/runtime/samples/component-binding-each-nested/_config.js index 536996e869..83bd81dbcb 100644 --- a/test/runtime/samples/component-binding-each-nested/_config.js +++ b/test/runtime/samples/component-binding-each-nested/_config.js @@ -11,12 +11,12 @@ export default { inputs[0].value = 'blah'; inputs[0].dispatchEvent( event ); - assert.deepEqual( component.get( 'a' ), [{ name: 'blah' }, { name: 'bar' }, { name: 'baz' }] ); + assert.deepEqual( component.get().a, [{ name: 'blah' }, { name: 'bar' }, { name: 'baz' }] ); assert.htmlEqual( target.innerHTML, `

blah, bar, baz

` ); - + component.destroy(); } }; diff --git a/test/runtime/samples/component-binding-each/_config.js b/test/runtime/samples/component-binding-each/_config.js index 632898eb5a..4ab071a286 100644 --- a/test/runtime/samples/component-binding-each/_config.js +++ b/test/runtime/samples/component-binding-each/_config.js @@ -11,7 +11,7 @@ export default { inputs[0].value = 'blah'; inputs[0].dispatchEvent( event ); - assert.deepEqual( component.get( 'a' ), [ 'blah', 'bar', 'baz' ] ); + assert.deepEqual( component.get().a, [ 'blah', 'bar', 'baz' ] ); assert.htmlEqual( target.innerHTML, `

blah, bar, baz

diff --git a/test/runtime/samples/component-binding-infinite-loop/C.html b/test/runtime/samples/component-binding-infinite-loop/C.html index 40dcf90844..e3887ff78e 100644 --- a/test/runtime/samples/component-binding-infinite-loop/C.html +++ b/test/runtime/samples/component-binding-infinite-loop/C.html @@ -12,10 +12,10 @@ export default { }, methods: { toggle() { - const isCurrentlySelected = this.get('isCurrentlySelected') + const isCurrentlySelected = this.get().isCurrentlySelected this.set({ - currentIdentifier: isCurrentlySelected ? null : this.get('identifier') + currentIdentifier: isCurrentlySelected ? null : this.get().identifier }) } } diff --git a/test/runtime/samples/component-binding-infinite-loop/_config.js b/test/runtime/samples/component-binding-infinite-loop/_config.js index 6a379af0a4..b9f7650e43 100644 --- a/test/runtime/samples/component-binding-infinite-loop/_config.js +++ b/test/runtime/samples/component-binding-infinite-loop/_config.js @@ -31,7 +31,7 @@ export default { spans[0].dispatchEvent( click ); - assert.equal( component.get( 'currentIdentifier' ), 1 ); + assert.equal( component.get().currentIdentifier, 1 ); assert.htmlEqual( target.innerHTML, `

1

2

@@ -60,7 +60,7 @@ export default { spans[0].dispatchEvent( click ); - assert.equal( component.get( 'currentIdentifier' ), null ); + assert.equal( component.get().currentIdentifier, null ); assert.htmlEqual( target.innerHTML, `

1

2

diff --git a/test/runtime/samples/component-binding-nested/_config.js b/test/runtime/samples/component-binding-nested/_config.js index fd1250e7a5..d0fb9dc196 100644 --- a/test/runtime/samples/component-binding-nested/_config.js +++ b/test/runtime/samples/component-binding-nested/_config.js @@ -21,7 +21,7 @@ export default { buttons[0].dispatchEvent( click ); - assert.equal( component.get( 'x' ), 'p' ); + assert.equal( component.get().x, 'p' ); assert.htmlEqual( target.innerHTML, `

x: p

@@ -34,7 +34,7 @@ export default { buttons[1].dispatchEvent( click ); - assert.equal( component.get( 'x' ), 'q' ); + assert.equal( component.get().x, 'q' ); assert.htmlEqual( target.innerHTML, `

x: q

@@ -47,7 +47,7 @@ export default { buttons[2].dispatchEvent( click ); - assert.equal( component.get( 'x' ), 'r' ); + assert.equal( component.get().x, 'r' ); assert.htmlEqual( target.innerHTML, `

x: r

diff --git a/test/runtime/samples/component-binding-parent-supercedes-child/_config.js b/test/runtime/samples/component-binding-parent-supercedes-child/_config.js index 6fa49fce9f..65999b85fd 100644 --- a/test/runtime/samples/component-binding-parent-supercedes-child/_config.js +++ b/test/runtime/samples/component-binding-parent-supercedes-child/_config.js @@ -10,7 +10,7 @@ export default { button.dispatchEvent( click ); - assert.equal( component.get( 'x' ), 11 ); + assert.equal( component.get().x, 11 ); assert.htmlEqual( target.innerHTML, `

count: 11

@@ -18,7 +18,7 @@ export default { button.dispatchEvent( click ); - assert.equal( component.get( 'x' ), 12 ); + assert.equal( component.get().x, 12 ); assert.htmlEqual( target.innerHTML, `

count: 12

diff --git a/test/runtime/samples/component-binding-self-destroying/_config.js b/test/runtime/samples/component-binding-self-destroying/_config.js index 27a7ab108e..a78b1c55ea 100644 --- a/test/runtime/samples/component-binding-self-destroying/_config.js +++ b/test/runtime/samples/component-binding-self-destroying/_config.js @@ -12,14 +12,14 @@ export default { target.querySelector('button').dispatchEvent(click); - assert.equal(component.get('show'), false); + assert.equal(component.get().show, false); assert.htmlEqual(target.innerHTML, ` `); target.querySelector('button').dispatchEvent(click); - assert.equal(component.get('show'), true); + assert.equal(component.get().show, true); assert.htmlEqual(target.innerHTML, ` `); diff --git a/test/runtime/samples/component-binding/_config.js b/test/runtime/samples/component-binding/_config.js index f2ed4d67e2..aa64ab81b8 100644 --- a/test/runtime/samples/component-binding/_config.js +++ b/test/runtime/samples/component-binding/_config.js @@ -12,7 +12,7 @@ export default { button.dispatchEvent( click ); - assert.equal( component.get( 'x' ), 1 ); + assert.equal( component.get().x, 1 ); assert.htmlEqual( target.innerHTML, `

count: 1

@@ -20,7 +20,7 @@ export default { button.dispatchEvent( click ); - assert.equal( component.get( 'x' ), 2 ); + assert.equal( component.get().x, 2 ); assert.htmlEqual( target.innerHTML, `

count: 2

diff --git a/test/runtime/samples/component-data-dynamic-shorthand/_config.js b/test/runtime/samples/component-data-dynamic-shorthand/_config.js index c0a53c333c..0e96bc9a86 100644 --- a/test/runtime/samples/component-data-dynamic-shorthand/_config.js +++ b/test/runtime/samples/component-data-dynamic-shorthand/_config.js @@ -11,7 +11,5 @@ export default { }); assert.equal( target.innerHTML, `

foo: 99

` ); - - component.teardown(); } }; diff --git a/test/runtime/samples/component-events/main.html b/test/runtime/samples/component-events/main.html index 12c5f78472..442ae0f989 100644 --- a/test/runtime/samples/component-events/main.html +++ b/test/runtime/samples/component-events/main.html @@ -1,6 +1,6 @@
{{#if visible}} - + {{/if}}
diff --git a/test/runtime/samples/component-yield-if/_config.js b/test/runtime/samples/component-yield-if/_config.js index a428e4522d..8c09fedbab 100644 --- a/test/runtime/samples/component-yield-if/_config.js +++ b/test/runtime/samples/component-yield-if/_config.js @@ -4,7 +4,7 @@ export default { test ( assert, component, target ) { const widget = component.refs.widget; - assert.equal( widget.get( 'show' ), false ); + assert.equal( widget.get().show, false ); widget.set({show: true}); assert.htmlEqual( target.innerHTML, '

Hello

' ); diff --git a/test/runtime/samples/component-yield-parent/_config.js b/test/runtime/samples/component-yield-parent/_config.js index b80ee68bdb..39bc7cf79a 100644 --- a/test/runtime/samples/component-yield-parent/_config.js +++ b/test/runtime/samples/component-yield-parent/_config.js @@ -4,10 +4,10 @@ export default { `, test ( assert, component, target ) { - assert.equal( component.get( 'data' ), 'Hello' ); + assert.equal( component.get().data, 'Hello' ); component.set({ data: 'World' }); - assert.equal( component.get( 'data' ), 'World' ); + assert.equal( component.get().data, 'World' ); assert.htmlEqual( target.innerHTML, `

World

` ); diff --git a/test/runtime/samples/computed-empty/_config.js b/test/runtime/samples/computed-empty/_config.js index 226be4cffe..610cc17945 100644 --- a/test/runtime/samples/computed-empty/_config.js +++ b/test/runtime/samples/computed-empty/_config.js @@ -1,7 +1,7 @@ export default { html: '
empty
', test ( assert, component, target ) { - assert.equal( component.get( 'created' ), true ); + assert.equal( component.get().created, true ); assert.equal( target.innerHTML, '
empty
' ); component.destroy(); } diff --git a/test/runtime/samples/computed-values-function-dependency/_config.js b/test/runtime/samples/computed-values-function-dependency/_config.js index 38b716b4d7..9320a0aad8 100644 --- a/test/runtime/samples/computed-values-function-dependency/_config.js +++ b/test/runtime/samples/computed-values-function-dependency/_config.js @@ -3,7 +3,7 @@ export default { test ( assert, component, target ) { component.set({ y: 2 }); - assert.equal( component.get( 'x' ), 4 ); + assert.equal( component.get().x, 4 ); assert.equal( target.innerHTML, '

4

' ); component.destroy(); } diff --git a/test/runtime/samples/computed-values/_config.js b/test/runtime/samples/computed-values/_config.js index 8425cba4ff..8d52627c40 100644 --- a/test/runtime/samples/computed-values/_config.js +++ b/test/runtime/samples/computed-values/_config.js @@ -2,8 +2,8 @@ export default { html: '

1 + 2 = 3

\n

3 * 3 = 9

', test ( assert, component, target ) { component.set({ a: 3 }); - assert.equal( component.get( 'c' ), 5 ); - assert.equal( component.get( 'cSquared' ), 25 ); + assert.equal( component.get().c, 5 ); + assert.equal( component.get().cSquared, 25 ); assert.equal( target.innerHTML, '

3 + 2 = 5

\n

5 * 5 = 25

' ); component.destroy(); } diff --git a/test/runtime/samples/custom-method/_config.js b/test/runtime/samples/custom-method/_config.js index 1586df8a79..fb1aa7f46a 100644 --- a/test/runtime/samples/custom-method/_config.js +++ b/test/runtime/samples/custom-method/_config.js @@ -5,11 +5,11 @@ export default { const event = new window.MouseEvent( 'click' ); button.dispatchEvent( event ); - assert.equal( component.get( 'counter' ), 1 ); + assert.equal( component.get().counter, 1 ); assert.equal( target.innerHTML, '\n\n

1

' ); button.dispatchEvent( event ); - assert.equal( component.get( 'counter' ), 2 ); + assert.equal( component.get().counter, 2 ); assert.equal( target.innerHTML, '\n\n

2

' ); assert.equal( component.foo(), 42 ); diff --git a/test/runtime/samples/custom-method/main.html b/test/runtime/samples/custom-method/main.html index 06ad01ca79..3bd8459fb1 100644 --- a/test/runtime/samples/custom-method/main.html +++ b/test/runtime/samples/custom-method/main.html @@ -10,7 +10,7 @@ methods: { add1 () { - this.set({ counter: this.get( 'counter' ) + 1 }); + this.set({ counter: this.get().counter + 1 }); }, foo () { diff --git a/test/runtime/samples/deconflict-builtins/_config.js b/test/runtime/samples/deconflict-builtins/_config.js index 5ad7a44210..debcfeaa13 100644 --- a/test/runtime/samples/deconflict-builtins/_config.js +++ b/test/runtime/samples/deconflict-builtins/_config.js @@ -2,7 +2,7 @@ export default { html: `got`, test ( assert, component ) { - assert.equal( component.get( 'foo' ), 'got' ); + assert.equal( component.get().foo, 'got' ); component.destroy(); } }; \ No newline at end of file diff --git a/test/runtime/samples/deconflict-non-helpers/_config.js b/test/runtime/samples/deconflict-non-helpers/_config.js index 978e4c27e3..51670f56fe 100644 --- a/test/runtime/samples/deconflict-non-helpers/_config.js +++ b/test/runtime/samples/deconflict-non-helpers/_config.js @@ -2,7 +2,7 @@ export default { html: `ABCD`, test ( assert, component ) { - assert.equal( component.get( 'compute' ), 'ABCD' ); + assert.equal( component.get().compute, 'ABCD' ); component.destroy(); } }; diff --git a/test/runtime/samples/dev-warning-bad-observe-arguments/_config.js b/test/runtime/samples/dev-warning-bad-observe-arguments/_config.js deleted file mode 100644 index 0b9183aeba..0000000000 --- a/test/runtime/samples/dev-warning-bad-observe-arguments/_config.js +++ /dev/null @@ -1,7 +0,0 @@ -export default { - dev: true, - - error ( assert, err ) { - assert.equal( err.message, `The first argument to component.observe(...) must be the name of a top-level property, i.e. 'nested' rather than 'nested.data'` ); - } -}; \ No newline at end of file diff --git a/test/runtime/samples/dev-warning-bad-observe-arguments/main.html b/test/runtime/samples/dev-warning-bad-observe-arguments/main.html deleted file mode 100644 index e15ae99fa4..0000000000 --- a/test/runtime/samples/dev-warning-bad-observe-arguments/main.html +++ /dev/null @@ -1,9 +0,0 @@ - \ No newline at end of file diff --git a/test/runtime/samples/dev-warning-custom-event-destroy-not-teardown/_config.js b/test/runtime/samples/dev-warning-custom-event-destroy-not-teardown/_config.js deleted file mode 100644 index 59c583ba1a..0000000000 --- a/test/runtime/samples/dev-warning-custom-event-destroy-not-teardown/_config.js +++ /dev/null @@ -1,7 +0,0 @@ -export default { - dev: true, - - warnings: [ - `Return 'destroy()' from custom event handlers. Returning 'teardown()' has been deprecated and will be unsupported in Svelte 2` - ] -}; \ No newline at end of file diff --git a/test/runtime/samples/dev-warning-custom-event-destroy-not-teardown/main.html b/test/runtime/samples/dev-warning-custom-event-destroy-not-teardown/main.html deleted file mode 100644 index 1e83835f03..0000000000 --- a/test/runtime/samples/dev-warning-custom-event-destroy-not-teardown/main.html +++ /dev/null @@ -1,16 +0,0 @@ - - - \ No newline at end of file diff --git a/test/runtime/samples/dev-warning-destroy-not-teardown/_config.js b/test/runtime/samples/dev-warning-destroy-not-teardown/_config.js deleted file mode 100644 index 7e9b391f4b..0000000000 --- a/test/runtime/samples/dev-warning-destroy-not-teardown/_config.js +++ /dev/null @@ -1,7 +0,0 @@ -export default { - dev: true, - - warnings: [ - `Use component.on('destroy', ...) instead of component.on('teardown', ...) which has been deprecated and will be unsupported in Svelte 2` - ] -}; \ No newline at end of file diff --git a/test/runtime/samples/dev-warning-destroy-not-teardown/main.html b/test/runtime/samples/dev-warning-destroy-not-teardown/main.html deleted file mode 100644 index 22c2e9c287..0000000000 --- a/test/runtime/samples/dev-warning-destroy-not-teardown/main.html +++ /dev/null @@ -1,9 +0,0 @@ - \ No newline at end of file diff --git a/test/runtime/samples/dynamic-component-bindings/_config.js b/test/runtime/samples/dynamic-component-bindings/_config.js index b10e1d720b..28ffc1664d 100644 --- a/test/runtime/samples/dynamic-component-bindings/_config.js +++ b/test/runtime/samples/dynamic-component-bindings/_config.js @@ -13,7 +13,7 @@ export default { input.value = 'abc'; input.dispatchEvent(new window.Event('input')); - assert.equal(component.get('y'), 'abc'); + assert.equal(component.get().y, 'abc'); component.set({ x: false @@ -28,6 +28,6 @@ export default { input.checked = true; input.dispatchEvent(new window.Event('change')); - assert.equal(component.get('z'), true); + assert.equal(component.get().z, true); } }; \ No newline at end of file diff --git a/test/runtime/samples/dynamic-component-events/_config.js b/test/runtime/samples/dynamic-component-events/_config.js index 3315382e91..b125e4078b 100644 --- a/test/runtime/samples/dynamic-component-events/_config.js +++ b/test/runtime/samples/dynamic-component-events/_config.js @@ -11,7 +11,7 @@ export default { const click = new window.MouseEvent('click'); target.querySelector('button').dispatchEvent(click); - assert.equal(component.get('selected'), 'foo'); + assert.equal(component.get().selected, 'foo'); component.set({ x: false @@ -22,6 +22,6 @@ export default { `); target.querySelector('button').dispatchEvent(click); - assert.equal(component.get('selected'), 'bar'); + assert.equal(component.get().selected, 'bar'); } }; \ No newline at end of file diff --git a/test/runtime/samples/each-block-array-literal/_config.js b/test/runtime/samples/each-block-array-literal/_config.js index bc36cdbe0e..b7548f0d9b 100644 --- a/test/runtime/samples/each-block-array-literal/_config.js +++ b/test/runtime/samples/each-block-array-literal/_config.js @@ -14,6 +14,6 @@ export default { const event = new window.MouseEvent('click'); button.dispatchEvent(event); - assert.equal(component.get('clicked'), 'racoon'); + assert.equal(component.get().clicked, 'racoon'); }, }; diff --git a/test/runtime/samples/each-block-containing-if/_config.js b/test/runtime/samples/each-block-containing-if/_config.js index 778c5ccdfa..cdb3d7e62c 100644 --- a/test/runtime/samples/each-block-containing-if/_config.js +++ b/test/runtime/samples/each-block-containing-if/_config.js @@ -1,6 +1,6 @@ export default { test ( assert, component, target ) { - const items = component.get( 'items' ); + const items = component.get().items; items.forEach( item => item.completed = false ); component.set({ currentFilter: 'all' }); diff --git a/test/runtime/samples/event-handler-custom-context/main.html b/test/runtime/samples/event-handler-custom-context/main.html index 806f330d6c..90e5a4c72e 100644 --- a/test/runtime/samples/event-handler-custom-context/main.html +++ b/test/runtime/samples/event-handler-custom-context/main.html @@ -11,14 +11,14 @@ tap ( node, callback ) { const clickHandler = event => { callback({ - answer: this.get( 'answer' ) + answer: this.get().answer }); }; node.addEventListener( 'click', clickHandler, false ); return { - teardown () { + destroy () { node.addEventListener( 'click', clickHandler, false ); } }; diff --git a/test/runtime/samples/event-handler-custom-each-destructured/_config.js b/test/runtime/samples/event-handler-custom-each-destructured/_config.js index 9373d4dfee..101268637e 100644 --- a/test/runtime/samples/event-handler-custom-each-destructured/_config.js +++ b/test/runtime/samples/event-handler-custom-each-destructured/_config.js @@ -24,8 +24,8 @@ export default {

second: bar

` ); - assert.equal( component.get( 'first' ), '1' ); - assert.equal( component.get( 'second' ), 'bar' ); + assert.equal( component.get().first, '1' ); + assert.equal( component.get().second, 'bar' ); component.destroy(); } diff --git a/test/runtime/samples/event-handler-custom-each-destructured/main.html b/test/runtime/samples/event-handler-custom-each-destructured/main.html index 6c5f24455d..ae9251269d 100644 --- a/test/runtime/samples/event-handler-custom-each-destructured/main.html +++ b/test/runtime/samples/event-handler-custom-each-destructured/main.html @@ -26,7 +26,7 @@ node.addEventListener( 'click', clickHandler, false ); return { - teardown () { + destroy () { node.addEventListener( 'click', clickHandler, false ); } }; diff --git a/test/runtime/samples/event-handler-custom-each/_config.js b/test/runtime/samples/event-handler-custom-each/_config.js index 5d67fb1413..e32876605e 100644 --- a/test/runtime/samples/event-handler-custom-each/_config.js +++ b/test/runtime/samples/event-handler-custom-each/_config.js @@ -24,8 +24,8 @@ export default {

fromState: bar

` ); - assert.equal( component.get( 'fromDom' ), 'bar' ); - assert.equal( component.get( 'fromState' ), 'bar' ); + assert.equal( component.get().fromDom, 'bar' ); + assert.equal( component.get().fromState, 'bar' ); component.destroy(); } diff --git a/test/runtime/samples/event-handler-custom-each/main.html b/test/runtime/samples/event-handler-custom-each/main.html index eb8a4d292c..309e5c96ee 100644 --- a/test/runtime/samples/event-handler-custom-each/main.html +++ b/test/runtime/samples/event-handler-custom-each/main.html @@ -24,7 +24,7 @@ node.addEventListener( 'click', clickHandler, false ); return { - teardown () { + destroy () { node.addEventListener( 'click', clickHandler, false ); } }; diff --git a/test/runtime/samples/event-handler-custom-node-context/main.html b/test/runtime/samples/event-handler-custom-node-context/main.html index 916001d82c..1634d51719 100644 --- a/test/runtime/samples/event-handler-custom-node-context/main.html +++ b/test/runtime/samples/event-handler-custom-node-context/main.html @@ -15,7 +15,7 @@ node.addEventListener( 'click', clickHandler, false ); return { - teardown () { + destroy () { node.addEventListener( 'click', clickHandler, false ); } }; diff --git a/test/runtime/samples/event-handler-custom/main.html b/test/runtime/samples/event-handler-custom/main.html index b56b4f403b..949fafd727 100644 --- a/test/runtime/samples/event-handler-custom/main.html +++ b/test/runtime/samples/event-handler-custom/main.html @@ -19,7 +19,7 @@ node.addEventListener( 'click', clickHandler, false ); return { - teardown () { + destroy () { node.addEventListener( 'click', clickHandler, false ); } }; diff --git a/test/runtime/samples/event-handler-each-deconflicted/_config.js b/test/runtime/samples/event-handler-each-deconflicted/_config.js index 0c11a15d3d..13690a4e62 100644 --- a/test/runtime/samples/event-handler-each-deconflicted/_config.js +++ b/test/runtime/samples/event-handler-each-deconflicted/_config.js @@ -16,7 +16,7 @@ export default { const event = new window.MouseEvent( 'click' ); buttons[0].dispatchEvent( event ); - assert.equal( component.get( 'clicked' ), 'foo' ); + assert.equal( component.get().clicked, 'foo' ); assert.htmlEqual( target.innerHTML, ` @@ -24,7 +24,7 @@ export default { ` ); buttons[1].dispatchEvent( event ); - assert.equal( component.get( 'clicked' ), 'bar' ); + assert.equal( component.get().clicked, 'bar' ); assert.htmlEqual( target.innerHTML, ` diff --git a/test/runtime/samples/event-handler-event-methods/_config.js b/test/runtime/samples/event-handler-event-methods/_config.js index 8b701e9825..50c0c08bd5 100644 --- a/test/runtime/samples/event-handler-event-methods/_config.js +++ b/test/runtime/samples/event-handler-event-methods/_config.js @@ -6,7 +6,7 @@ export default { allow.dispatchEvent( new window.MouseEvent( 'click', { bubbles: true }) ); stop.dispatchEvent( new window.MouseEvent( 'click', { bubbles: true }) ); - assert.equal( component.get( 'foo' ), true ); - assert.equal( component.get( 'bar' ), false ); + assert.equal( component.get().foo, true ); + assert.equal( component.get().bar, false ); } }; diff --git a/test/runtime/samples/event-handler-removal/_config.js b/test/runtime/samples/event-handler-removal/_config.js index b196db1765..474b6ef63e 100644 --- a/test/runtime/samples/event-handler-removal/_config.js +++ b/test/runtime/samples/event-handler-removal/_config.js @@ -7,13 +7,13 @@ export default { // this should NOT trigger blur event component.set({ visible: false }); - assert.ok( !component.get( 'blurred' ) ); + assert.ok( !component.get().blurred ); component.set({ visible: true }); component.refs.input.focus(); // this SHOULD trigger blur event component.refs.input.blur(); - assert.ok( component.get( 'blurred' ) ); + assert.ok( component.get().blurred ); } }; diff --git a/test/runtime/samples/flush-before-bindings/_config.js b/test/runtime/samples/flush-before-bindings/_config.js index 1f731d6a34..066f3cb2c4 100644 --- a/test/runtime/samples/flush-before-bindings/_config.js +++ b/test/runtime/samples/flush-before-bindings/_config.js @@ -9,7 +9,7 @@ export default { `, test(assert, component) { - const visibleThings = component.get('visibleThings'); + const visibleThings = component.get().visibleThings; assert.deepEqual(visibleThings, ['first thing', 'second thing']); const snapshots = component.snapshots; diff --git a/test/runtime/samples/flush-before-bindings/main.html b/test/runtime/samples/flush-before-bindings/main.html index b078cffc8c..e95670f85d 100644 --- a/test/runtime/samples/flush-before-bindings/main.html +++ b/test/runtime/samples/flush-before-bindings/main.html @@ -14,11 +14,15 @@ Nested }, - oncreate() { - this.snapshots = []; - this.observe('visibleThings', things => { - this.snapshots.push(things); - }); + onstate({ current, changed, previous }) { + if (!this.snapshots) { + // first run + this.snapshots = []; + } + + if (changed.visibleThings) { + this.snapshots.push(current.visibleThings); + } } }; \ No newline at end of file diff --git a/test/runtime/samples/get-state/_config.js b/test/runtime/samples/get-state/_config.js index dd0b72fb16..3c2dae5a81 100644 --- a/test/runtime/samples/get-state/_config.js +++ b/test/runtime/samples/get-state/_config.js @@ -1,7 +1,7 @@ export default { test ( assert, component ) { - assert.equal( component.get('a'), 1 ); - assert.equal( component.get('c'), 3 ); + assert.equal( component.get().a, 1 ); + assert.equal( component.get().c, 3 ); assert.deepEqual( component.get(), { a: 1, b: 2, c: 3 }); } }; diff --git a/test/runtime/samples/globals-not-overwritten-by-bindings/_config.js b/test/runtime/samples/globals-not-overwritten-by-bindings/_config.js index a10750e1a0..cf15f47d9d 100644 --- a/test/runtime/samples/globals-not-overwritten-by-bindings/_config.js +++ b/test/runtime/samples/globals-not-overwritten-by-bindings/_config.js @@ -40,7 +40,7 @@ export default { input.checked = true; input.dispatchEvent(change); - assert.ok(component.get('todos').third.done); + assert.ok(component.get().todos.third.done); assert.htmlEqual(target.innerHTML, `
diff --git a/test/runtime/samples/immutable-mutable/Nested.html b/test/runtime/samples/immutable-mutable/Nested.html index 02278e385e..f23d8f4257 100644 --- a/test/runtime/samples/immutable-mutable/Nested.html +++ b/test/runtime/samples/immutable-mutable/Nested.html @@ -1,13 +1,13 @@

Called {{count}} times.

\ No newline at end of file diff --git a/test/runtime/samples/immutable-mutable/_config.js b/test/runtime/samples/immutable-mutable/_config.js index 5dab0f239b..d7381a38a2 100644 --- a/test/runtime/samples/immutable-mutable/_config.js +++ b/test/runtime/samples/immutable-mutable/_config.js @@ -4,13 +4,15 @@ export default { test(assert, component, target, window) { var nested = component.refs.nested; - nested.observe('foo', foo => { - nested.set({ count: nested.get('count') + 1 }); + nested.on('state', ({ changed }) => { + if (changed.foo) { + nested.set({ count: nested.get().count + 1 }); + } }); - assert.htmlEqual(target.innerHTML, `

Called 1 times.

`); + assert.htmlEqual(target.innerHTML, `

Called 0 times.

`); - nested.set({ foo: nested.get('foo') }); - assert.htmlEqual(target.innerHTML, `

Called 2 times.

`); + nested.set({ foo: nested.get().foo }); + assert.htmlEqual(target.innerHTML, `

Called 1 times.

`); } }; diff --git a/test/runtime/samples/immutable-nested/_config.js b/test/runtime/samples/immutable-nested/_config.js index 541566ce4d..1268a4a988 100644 --- a/test/runtime/samples/immutable-nested/_config.js +++ b/test/runtime/samples/immutable-nested/_config.js @@ -4,13 +4,15 @@ export default { test(assert, component, target, window) { var nested = component.refs.nested; - nested.observe('foo', foo => { - nested.set({ count: nested.get('count') + 1 }); + nested.on('state', ({ changed }) => { + if (changed.foo) { + nested.set({ count: nested.get().count + 1 }); + } }); - assert.htmlEqual(target.innerHTML, `

Called 1 times.

`); + assert.htmlEqual(target.innerHTML, `

Called 0 times.

`); - nested.set({ foo: nested.get('foo') }); - assert.htmlEqual(target.innerHTML, `

Called 1 times.

`); + nested.set({ foo: nested.get().foo }); + assert.htmlEqual(target.innerHTML, `

Called 0 times.

`); } }; diff --git a/test/runtime/samples/immutable-root/_config.js b/test/runtime/samples/immutable-root/_config.js index a862008d7d..ab0b4287d8 100644 --- a/test/runtime/samples/immutable-root/_config.js +++ b/test/runtime/samples/immutable-root/_config.js @@ -3,13 +3,15 @@ export default { html: `

Called 0 times.

`, test(assert, component, target, window) { - component.observe('foo', foo => { - component.set({ count: component.get('count') + 1 }); + component.on('state', ({ changed }) => { + if (changed.foo) { + component.set({ count: component.get().count + 1 }); + } }); - assert.htmlEqual(target.innerHTML, `

Called 1 times.

`); + assert.htmlEqual(target.innerHTML, `

Called 0 times.

`); - component.set({ foo: component.get('foo') }); - assert.htmlEqual(target.innerHTML, `

Called 1 times.

`); + component.set({ foo: component.get().foo }); + assert.htmlEqual(target.innerHTML, `

Called 0 times.

`); } }; diff --git a/test/runtime/samples/observe-binding-ignores-unchanged/_config.js b/test/runtime/samples/observe-binding-ignores-unchanged/_config.js index 927572e735..04fee0d94e 100644 --- a/test/runtime/samples/observe-binding-ignores-unchanged/_config.js +++ b/test/runtime/samples/observe-binding-ignores-unchanged/_config.js @@ -7,9 +7,9 @@ export default { test(assert, component, target, window) { let triggered = false; - component.refs.nested.observe('field2', () => { - triggered = true; - }, { init: false }); + component.refs.nested.on('state', ({ changed }) => { + if (changed.field2) triggered = true; + }); const input = target.querySelector('input'); const event = new window.Event('input'); diff --git a/test/runtime/samples/observe-component-ignores-irrelevant-changes/_config.js b/test/runtime/samples/observe-component-ignores-irrelevant-changes/_config.js index 88be0160bd..f14d044a19 100644 --- a/test/runtime/samples/observe-component-ignores-irrelevant-changes/_config.js +++ b/test/runtime/samples/observe-component-ignores-irrelevant-changes/_config.js @@ -1,15 +1,15 @@ export default { - test ( assert, component ) { + test(assert, component) { const foo = component.refs.foo; let count = 0; - foo.observe( 'x', () => { - count += 1; + foo.on('state', ({ changed }) => { + if (changed.foo) count += 1; }); - assert.equal( count, 1 ); + assert.equal(count, 0); component.set({ y: {} }); - assert.equal( count, 1 ); + assert.equal(count, 0); } }; diff --git a/test/runtime/samples/observe-deferred/main.html b/test/runtime/samples/observe-deferred/main.html index 365d427f4d..4ef322ab42 100644 --- a/test/runtime/samples/observe-deferred/main.html +++ b/test/runtime/samples/observe-deferred/main.html @@ -3,11 +3,11 @@ \ No newline at end of file diff --git a/test/runtime/samples/onrender-chain/Item.html b/test/runtime/samples/onrender-chain/Item.html index b75cd0ca23..4eb126062b 100644 --- a/test/runtime/samples/onrender-chain/Item.html +++ b/test/runtime/samples/onrender-chain/Item.html @@ -2,15 +2,13 @@ + \ No newline at end of file diff --git a/test/runtime/samples/select-bind-in-array/_config.js b/test/runtime/samples/select-bind-in-array/_config.js index 609fc4592a..32b522982b 100644 --- a/test/runtime/samples/select-bind-in-array/_config.js +++ b/test/runtime/samples/select-bind-in-array/_config.js @@ -8,7 +8,7 @@ export default { }, test ( assert, component, target ) { - const items = component.get('items'); + const items = component.get().items; assert.equal( items[0].id, 'a' ); assert.equal( items[1].id, 'b' ); diff --git a/test/runtime/samples/select-change-handler/_config.js b/test/runtime/samples/select-change-handler/_config.js index 015c8182b4..8ea4d66e82 100644 --- a/test/runtime/samples/select-change-handler/_config.js +++ b/test/runtime/samples/select-change-handler/_config.js @@ -14,8 +14,8 @@ export default { select.dispatchEvent( event ); assert.equal( select.value, 'c' ); - assert.equal( component.get( 'lastChangedTo' ), 'c' ); - assert.equal( component.get( 'selected' ), 'c' ); + assert.equal( component.get().lastChangedTo, 'c' ); + assert.equal( component.get().selected, 'c' ); component.destroy(); } diff --git a/test/runtime/samples/select-props/_config.js b/test/runtime/samples/select-props/_config.js index 1d4d390094..0f93196cf7 100644 --- a/test/runtime/samples/select-props/_config.js +++ b/test/runtime/samples/select-props/_config.js @@ -10,6 +10,6 @@ export default { selects[1].value = 'b'; selects[1].dispatchEvent(event2); - assert.deepEqual( component.get( 'log' ), [ 1, 2 ] ); + assert.deepEqual( component.get().log, [ 1, 2 ] ); } }; diff --git a/test/runtime/samples/set-in-observe-dedupes-renders/Widget.html b/test/runtime/samples/set-in-observe-dedupes-renders/Widget.html deleted file mode 100644 index 3d414dd204..0000000000 --- a/test/runtime/samples/set-in-observe-dedupes-renders/Widget.html +++ /dev/null @@ -1,17 +0,0 @@ -
{{foo.x}}
- - diff --git a/test/runtime/samples/set-in-ondestroy/_config.js b/test/runtime/samples/set-in-ondestroy/_config.js index bc2212b032..9923ebeb58 100644 --- a/test/runtime/samples/set-in-ondestroy/_config.js +++ b/test/runtime/samples/set-in-ondestroy/_config.js @@ -11,16 +11,16 @@ export default { component.on('destroy', () => { component.set({ foo: 2 }); - valueOnDestroy = component.get('foo'); + valueOnDestroy = component.get().foo; }); - component.observe('foo', foo => { - values.push(foo); + component.on('state', ({ current }) => { + values.push(current.foo); }); component.destroy(); - assert.deepEqual(values, [1, 2]); + assert.deepEqual(values, [2]); assert.equal(valueOnDestroy, 2); } }; diff --git a/test/runtime/samples/set-in-onstate-dedupes-renders/Widget.html b/test/runtime/samples/set-in-onstate-dedupes-renders/Widget.html new file mode 100644 index 0000000000..3d64f43eff --- /dev/null +++ b/test/runtime/samples/set-in-onstate-dedupes-renders/Widget.html @@ -0,0 +1,13 @@ +
{{foo.x}}
+ + \ No newline at end of file diff --git a/test/runtime/samples/set-in-observe-dedupes-renders/_config.js b/test/runtime/samples/set-in-onstate-dedupes-renders/_config.js similarity index 100% rename from test/runtime/samples/set-in-observe-dedupes-renders/_config.js rename to test/runtime/samples/set-in-onstate-dedupes-renders/_config.js diff --git a/test/runtime/samples/set-in-observe-dedupes-renders/main.html b/test/runtime/samples/set-in-onstate-dedupes-renders/main.html similarity index 69% rename from test/runtime/samples/set-in-observe-dedupes-renders/main.html rename to test/runtime/samples/set-in-onstate-dedupes-renders/main.html index f62940a473..2f621f33d0 100644 --- a/test/runtime/samples/set-in-observe-dedupes-renders/main.html +++ b/test/runtime/samples/set-in-onstate-dedupes-renders/main.html @@ -11,10 +11,10 @@ } }, - oncreate () { - this.observe( 'foo', foo => { - this.set({ bar: foo }); - }); + onstate({ changed, current }) { + if (changed.foo) { + this.set({ bar: current.foo }); + } }, components: { diff --git a/test/runtime/samples/set-in-observe/_config.js b/test/runtime/samples/set-in-onstate/_config.js similarity index 100% rename from test/runtime/samples/set-in-observe/_config.js rename to test/runtime/samples/set-in-onstate/_config.js diff --git a/test/runtime/samples/set-in-observe/main.html b/test/runtime/samples/set-in-onstate/main.html similarity index 52% rename from test/runtime/samples/set-in-observe/main.html rename to test/runtime/samples/set-in-onstate/main.html index d07607f5fe..7446198502 100644 --- a/test/runtime/samples/set-in-observe/main.html +++ b/test/runtime/samples/set-in-onstate/main.html @@ -7,10 +7,10 @@ foo: 1 }), - oncreate () { - this.observe( 'foo', foo => { - this.set({ bar: foo * 2 }); - }); + onstate({ changed, current }) { + if (changed.foo) { + this.set({ bar: current.foo * 2 }); + } } }; diff --git a/test/runtime/samples/store-binding/_config.js b/test/runtime/samples/store-binding/_config.js index aefc4ec652..7839a9e3ea 100644 --- a/test/runtime/samples/store-binding/_config.js +++ b/test/runtime/samples/store-binding/_config.js @@ -19,7 +19,7 @@ export default { input.value = 'everybody'; input.dispatchEvent(event); - assert.equal(store.get('name'), 'everybody'); + assert.equal(store.get().name, 'everybody'); assert.htmlEqual(target.innerHTML, `

Hello everybody!

diff --git a/test/runtime/samples/store-component-binding-deep/_config.js b/test/runtime/samples/store-component-binding-deep/_config.js index 66ae5ac4ae..e5f0b43156 100644 --- a/test/runtime/samples/store-component-binding-deep/_config.js +++ b/test/runtime/samples/store-component-binding-deep/_config.js @@ -19,14 +19,14 @@ export default { const event = new window.Event('input'); const changeRecord = []; - store.onchange((state, changes) => { - changeRecord.push({ state, changes }); + store.on('state', ({ changed, current }) => { + changeRecord.push({ changed, current }); }); input.value = 'everybody'; input.dispatchEvent(event); - assert.equal(store.get('name').value, 'everybody'); + assert.equal(store.get().name.value, 'everybody'); assert.htmlEqual(target.innerHTML, `

Hello everybody!

@@ -34,8 +34,8 @@ export default { assert.deepEqual(changeRecord, [ { - state: { name: { value: 'everybody' } }, - changes: { name: true } + current: { name: { value: 'everybody' } }, + changed: { name: true } } ]); } diff --git a/test/runtime/samples/store-component-binding-each/_config.js b/test/runtime/samples/store-component-binding-each/_config.js index 5d6e6889ae..84977b9b3b 100644 --- a/test/runtime/samples/store-component-binding-each/_config.js +++ b/test/runtime/samples/store-component-binding-each/_config.js @@ -19,7 +19,7 @@ export default { inputs[0].value = 'blah'; inputs[0].dispatchEvent(event); - assert.deepEqual(store.get('a'), ['blah', 'bar', 'baz']); + assert.deepEqual(store.get().a, ['blah', 'bar', 'baz']); assert.htmlEqual(target.innerHTML, `

blah, bar, baz

diff --git a/test/runtime/samples/store-component-binding/_config.js b/test/runtime/samples/store-component-binding/_config.js index 1d2beab7a7..12b0fcbfb4 100644 --- a/test/runtime/samples/store-component-binding/_config.js +++ b/test/runtime/samples/store-component-binding/_config.js @@ -17,14 +17,14 @@ export default { const event = new window.Event('input'); const changeRecord = []; - store.onchange((state, changes) => { - changeRecord.push({ state, changes }); + store.on('state', ({ changed, current }) => { + changeRecord.push({ changed, current }); }); input.value = 'everybody'; input.dispatchEvent(event); - assert.equal(store.get('name'), 'everybody'); + assert.equal(store.get().name, 'everybody'); assert.htmlEqual(target.innerHTML, `

Hello everybody!

@@ -32,8 +32,8 @@ export default { assert.deepEqual(changeRecord, [ { - state: { name: 'everybody' }, - changes: { name: true } + current: { name: 'everybody' }, + changed: { name: true } } ]); } diff --git a/test/runtime/samples/store-computed/_config.js b/test/runtime/samples/store-computed/_config.js index f4e6f49e54..f922a55738 100644 --- a/test/runtime/samples/store-computed/_config.js +++ b/test/runtime/samples/store-computed/_config.js @@ -7,7 +7,7 @@ class MyStore extends Store { toggleTodo(todo) { todo.done = !todo.done; - this.set({ todos: this.get('todos') }); + this.set({ todos: this.get().todos }); } } diff --git a/test/runtime/samples/store-event/_config.js b/test/runtime/samples/store-event/_config.js index 2779db5fc2..58afa15611 100644 --- a/test/runtime/samples/store-event/_config.js +++ b/test/runtime/samples/store-event/_config.js @@ -25,7 +25,7 @@ export default { input.value = 'everybody'; input.dispatchEvent(event); - assert.equal(store.get('name'), 'everybody'); + assert.equal(store.get().name, 'everybody'); assert.htmlEqual(target.innerHTML, `

Hello everybody!

diff --git a/test/runtime/samples/window-event-context/_config.js b/test/runtime/samples/window-event-context/_config.js index ac0fd953bf..f9e562aef6 100644 --- a/test/runtime/samples/window-event-context/_config.js +++ b/test/runtime/samples/window-event-context/_config.js @@ -12,11 +12,11 @@ export default { const event = new window.Event( 'click' ); window.dispatchEvent( event ); - assert.equal( component.get( 'foo' ), false ); + assert.equal( component.get().foo, false ); assert.htmlEqual( target.innerHTML, `false` ); window.dispatchEvent( event ); - assert.equal( component.get( 'foo' ), true ); + assert.equal( component.get().foo, true ); assert.htmlEqual( target.innerHTML, `true` ); component.destroy();