From a925fcae4e192f103e710664b15d85a2b9d404f1 Mon Sep 17 00:00:00 2001 From: diarmidmackenzie Date: Tue, 14 Feb 2023 14:08:36 +0000 Subject: [PATCH] Unit tests for #5242 --- tests/core/component.test.js | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/tests/core/component.test.js b/tests/core/component.test.js index 7e0fc32e07..94d792338e 100644 --- a/tests/core/component.test.js +++ b/tests/core/component.test.js @@ -841,15 +841,34 @@ suite('Component', function () { assert.deepEqual(component.data.list, ['b']); }); - test('supports array property in single property schema', function () { + test('supports array property on entity creation', function (done) { + entityFactory(); registerComponent('dummy', { - schema: { - schema: {default: ['a']} - } + schema: { list: {type: 'array', default: ['a']} } }); - var el = document.createElement('a-entity'); - el.setAttribute('dummy', ['b']); - assert.deepEqual(el.components.dummy.data, ['b']); + var scene = document.querySelector('a-scene'); + var el2 = document.createElement('a-entity'); + el2.setAttribute('dummy', { list: ['b', 'c', 'd'] }); + el2.addEventListener('componentinitialized', evt => { + assert.deepEqual(el2.components.dummy.data.list, ['b', 'c', 'd']); + done(); + }); + scene.appendChild(el2); + }); + + test('supports array property in single property schema on entity creation', function (done) { + entityFactory(); + registerComponent('dummy', { + schema: {type: 'array', default: ['a']} + }); + var scene = document.querySelector('a-scene'); + var el2 = document.createElement('a-entity'); + el2.setAttribute('dummy', ['b', 'c', 'd']); + el2.addEventListener('componentinitialized', () => { + assert.deepEqual(el2.components.dummy.data, ['b', 'c', 'd']); + done(); + }); + scene.appendChild(el2); }); test('emit componentchanged when update calls setAttribute', function (done) {