export default { data: { thing: { a: 1 } }, test(assert, component) { const thing = component.get().thing; component.on('state', ({ changed, current }) => { if (changed.thing) { const { thing } = current; thing.b = thing.a * 2; component.set({ thing }); // triggers infinite loop, unless event handler breaks it } }); assert.deepEqual(thing, { a: 1 }); thing.a = 3; component.set({ thing }); assert.deepEqual(thing, { a: 3, b: 6 }); } };