From 8b3f0320f6a61a8d6aa2bf6541ee8e6eb1c48dc3 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Thu, 16 Mar 2017 16:02:50 -0400 Subject: [PATCH] test for #312 --- .../binding-input-checkbox-group/_config.js | 70 +++++++++++++++++++ .../binding-input-checkbox-group/main.html | 7 ++ test/helpers.js | 6 +- 3 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 test/generator/samples/binding-input-checkbox-group/_config.js create mode 100644 test/generator/samples/binding-input-checkbox-group/main.html diff --git a/test/generator/samples/binding-input-checkbox-group/_config.js b/test/generator/samples/binding-input-checkbox-group/_config.js new file mode 100644 index 0000000000..0a0e02f720 --- /dev/null +++ b/test/generator/samples/binding-input-checkbox-group/_config.js @@ -0,0 +1,70 @@ +export default { + data: { + values: [ 'Alpha', 'Beta', 'Gamma' ], + selected: [ 'Beta' ] + }, + + html: ` + + + + + + +

Beta

`, + + test ( assert, component, target, window ) { + const inputs = target.querySelectorAll( 'input' ); + assert.equal( inputs[0].checked, false ); + assert.equal( inputs[1].checked, true ); + assert.equal( inputs[2].checked, false ); + + const event = new window.Event( 'change' ); + + inputs[0].checked = true; + inputs[0].dispatchEvent( event ); + + assert.equal( target.innerHTML, ` + + + + + + +

Alpha, Beta

+ ` ); + + component.set({ selected: [ 'Beta', 'Gamma' ] }); + assert.equal( inputs[0].checked, false ); + assert.equal( inputs[1].checked, true ); + assert.equal( inputs[2].checked, true ); + + assert.equal( target.innerHTML, ` + + + + + + +

Beta, Gamma

+ ` ); + } +}; diff --git a/test/generator/samples/binding-input-checkbox-group/main.html b/test/generator/samples/binding-input-checkbox-group/main.html new file mode 100644 index 0000000000..2ca1c29b5d --- /dev/null +++ b/test/generator/samples/binding-input-checkbox-group/main.html @@ -0,0 +1,7 @@ +{{#each values as value}} + +{{/each}} + +

{{selected}}

\ No newline at end of file diff --git a/test/helpers.js b/test/helpers.js index cd50730811..8d653fb193 100644 --- a/test/helpers.js +++ b/test/helpers.js @@ -71,8 +71,12 @@ function cleanChildren ( node ) { child.data = child.data.replace( /\s{2,}/, '\n' ); + if ( child.data === '\n' ) { + node.removeChild( child ); + } + // text - if ( previous && previous.nodeType === 3 ) { + else if ( previous && previous.nodeType === 3 ) { previous.data += child.data; previous.data = previous.data.replace( /\s{2,}/, '\n' );