From 7be5b70109c7920255a1658bca81ce519c4fbc25 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Sun, 12 Nov 2017 16:16:26 -0500 Subject: [PATCH] failing test for #910 --- .../_config.js | 41 +++++++++++++++++++ .../main.html | 3 ++ 2 files changed, 44 insertions(+) create mode 100644 test/runtime/samples/binding-input-checkbox-indeterminate/_config.js create mode 100644 test/runtime/samples/binding-input-checkbox-indeterminate/main.html diff --git a/test/runtime/samples/binding-input-checkbox-indeterminate/_config.js b/test/runtime/samples/binding-input-checkbox-indeterminate/_config.js new file mode 100644 index 0000000000..7fa8cf1f07 --- /dev/null +++ b/test/runtime/samples/binding-input-checkbox-indeterminate/_config.js @@ -0,0 +1,41 @@ +export default { + data: { + indeterminate: true, + }, + + html: ` + +

checked? false

+

indeterminate? true

+ `, + + test(assert, component, target, window) { + const input = target.querySelector('input'); + assert.equal(input.checked, true); + + const event = new window.Event('change'); + + input.checked = true; + input.dispatchEvent(event); + + assert.equal(component.get('indeterminate'), false); + assert.equal(component.get('checked'), true); + assert.equal(target.innerHTML, ` + +

checked? true

+

indeterminate? false

+ `); + + component.set({ indeterminate: true }); + assert.equal(input.indeterminate, true); + assert.equal(input.checked, false); + assert.equal(target.innerHTML, ` + +

checked? false

+

indeterminate? true

+ `); + + // TODO what is the behaviour when setting both `checked` + // and `indeterminate` to conflicting values simultaneously? + }, +}; diff --git a/test/runtime/samples/binding-input-checkbox-indeterminate/main.html b/test/runtime/samples/binding-input-checkbox-indeterminate/main.html new file mode 100644 index 0000000000..e4c83224f9 --- /dev/null +++ b/test/runtime/samples/binding-input-checkbox-indeterminate/main.html @@ -0,0 +1,3 @@ + +

checked? {{checked}}

+

indeterminate? {{indeterminate}}