From 7608158a985afda4a8aaf198b00bea776c9c5c94 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Fri, 24 Feb 2017 16:43:07 -0500 Subject: [PATCH 1/6] failing test for first bug in #290 --- .../component-events-each/Widget.html | 1 + .../component-events-each/_config.js | 27 +++++++++++++++++++ .../generator/component-events-each/main.html | 19 +++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 test/generator/component-events-each/Widget.html create mode 100644 test/generator/component-events-each/_config.js create mode 100644 test/generator/component-events-each/main.html diff --git a/test/generator/component-events-each/Widget.html b/test/generator/component-events-each/Widget.html new file mode 100644 index 0000000000..ad81b51f15 --- /dev/null +++ b/test/generator/component-events-each/Widget.html @@ -0,0 +1 @@ + diff --git a/test/generator/component-events-each/_config.js b/test/generator/component-events-each/_config.js new file mode 100644 index 0000000000..25635556a0 --- /dev/null +++ b/test/generator/component-events-each/_config.js @@ -0,0 +1,27 @@ +export default { + data: { + items: [ 'a', 'b', 'c' ] + }, + + html: ` +
+ `, + + test ( assert, component, target, window ) { + const buttons = target.querySelectorAll( 'button' ); + + const clicks = []; + + component.on( 'foo', item => { + clicks.push( item ); + }); + + const event = new window.MouseEvent( 'click' ); + + buttons[0].dispatchEvent( event ); + buttons[2].dispatchEvent( event ); + + assert.deepEqual( clicks, [ 'a', 'c' ]); + component.teardown(); + } +}; diff --git a/test/generator/component-events-each/main.html b/test/generator/component-events-each/main.html new file mode 100644 index 0000000000..e429f3f303 --- /dev/null +++ b/test/generator/component-events-each/main.html @@ -0,0 +1,19 @@ +
+ {{#each items as item}} + + {{/each}} +
+ + From 50693eab4a6fb8ef4cddf6be9277fcb1bca31940 Mon Sep 17 00:00:00 2001 From: cayasso Date: Fri, 24 Feb 2017 15:44:12 -0600 Subject: [PATCH 2/6] fix select option value issue (#291) --- .../dom/visitors/attributes/addElementAttributes.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/generators/dom/visitors/attributes/addElementAttributes.js b/src/generators/dom/visitors/attributes/addElementAttributes.js index b300b1e456..c086ccc29f 100644 --- a/src/generators/dom/visitors/attributes/addElementAttributes.js +++ b/src/generators/dom/visitors/attributes/addElementAttributes.js @@ -142,7 +142,11 @@ export default function addElementAttributes ( generator, node, local ) { } if ( isBoundOptionValue ) { - ( dynamic ? local.update : local.init ).addLine( `${local.name}.value = ${local.name}.__value` ); + local.init.addLine( `${local.name}.value = ${local.name}.__value` ); + + if (dynamic) { + local.update.addLine( `${local.name}.value = ${local.name}.__value` ); + } } } From b2ebafa3fca06d2b89ac4ed13c1fd9f144ca858f Mon Sep 17 00:00:00 2001 From: cayasso Date: Fri, 24 Feb 2017 15:46:13 -0600 Subject: [PATCH 3/6] add test for select option issue (#291) --- test/generator/select/_config.js | 36 ++++++++++++++++++++++++++++++++ test/generator/select/main.html | 5 +++++ 2 files changed, 41 insertions(+) create mode 100644 test/generator/select/_config.js create mode 100644 test/generator/select/main.html diff --git a/test/generator/select/_config.js b/test/generator/select/_config.js new file mode 100644 index 0000000000..f8efeea8cc --- /dev/null +++ b/test/generator/select/_config.js @@ -0,0 +1,36 @@ +export default { + data: { + item: { + name: 'One', + key: 'a' + } + }, + + html: ` + + `, + + test ( assert, component, target ) { + component.set({ item: + { + name: 'One', + key: 'a' + } + }) + + assert.htmlEqual( target.innerHTML,` + + `); + + component.teardown(); + assert.htmlEqual( target.innerHTML, '' ); + } +}; diff --git a/test/generator/select/main.html b/test/generator/select/main.html new file mode 100644 index 0000000000..8626bb8e2a --- /dev/null +++ b/test/generator/select/main.html @@ -0,0 +1,5 @@ + From cd12ecd3a61c07c220afb7e404bc61c24cc052b6 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Fri, 24 Feb 2017 17:03:47 -0500 Subject: [PATCH 4/6] remove duplicate set(), check select value --- test/generator/select/_config.js | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/test/generator/select/_config.js b/test/generator/select/_config.js index f8efeea8cc..e0023dea9e 100644 --- a/test/generator/select/_config.js +++ b/test/generator/select/_config.js @@ -15,13 +15,6 @@ export default { `, test ( assert, component, target ) { - component.set({ item: - { - name: 'One', - key: 'a' - } - }) - assert.htmlEqual( target.innerHTML,` `); + assert.equal( target.querySelector( 'select' ).value, 'a' ); + component.teardown(); assert.htmlEqual( target.innerHTML, '' ); } From 956c49b71856bc3b20e61c42c549f42dc835204f Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Fri, 24 Feb 2017 17:04:53 -0500 Subject: [PATCH 5/6] -> v1.6.11 --- CHANGELOG.md | 4 ++++ package.json | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b0e492c6f..e2dc063f3c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Svelte changelog +## 1.6.11 + +* Initialise dynamic `