{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-core/src/client/reactive/test/active-expression-rewriting/disable.spec.js"],"names":["chai","expect","sinon","sinonChai","use","obj","prop","spy","ae","onChange","disable","disabled","enable","x","check","setExpression","o1","p","o2"],"mappings":"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","file":"disable.spec.js","sourcesContent":["\"enable aexpr\";\n\nimport chai, {expect} from 'src/external/chai.js';\nimport sinon from 'src/external/sinon-3.2.1.js';\nimport sinonChai from 'src/external/sinon-chai.js';\nchai.use(sinonChai);\n\ndescribe('disable (Rewriting Active Expressions)', () => {\n\n  it('setter while disabled', () => {\n    var obj = { prop: 42 };\n    const spy = sinon.spy();\n    let ae = aexpr(() => obj.prop).onChange(spy)\n\n    ae.disable();\n\n    obj.prop = 17;\n\n    expect(spy).not.to.be.called;\n  });\n\n  it('setter while enabled', () => {\n    var obj = { prop: 42 };\n    const spy = sinon.spy();\n    let ae = aexpr(() => obj.prop, { disabled: true }).onChange(spy)\n\n    ae.enable();\n\n    obj.prop = 17;\n\n    expect(spy).to.be.calledOnce;\n  });\n\n  it('check via .enable', () => {\n    var x = 42;\n    const spy = sinon.spy();\n    let ae = aexpr(() => x, { disabled: true }).onChange(spy)\n\n    x = 17;\n    expect(spy).not.to.be.called;\n\n    ae.enable();\n    expect(spy).to.be.calledOnce;\n  });\n\n  it('not check via .enable', () => {\n    var obj = { prop: 1 };\n    const spy = sinon.spy();\n    let ae = aexpr(() => obj.prop, { disabled: true }).onChange(spy)\n\n    obj = { prop: 2 };\n    ae.enable({ check: false });\n    expect(spy).not.to.be.called;\n\n    obj = { prop: 3 };\n    expect(spy).to.be.calledOnce;\n    expect(spy.firstCall.args[1].lastValue).to.equal(2)\n  });\n\n  it('.setExpression while disabled', () => {\n    const spy = sinon.spy();\n    let ae = aexpr(() => 1, { disabled: true }).onChange(spy)\n\n    ae.setExpression(() => 2);\n    expect(spy).not.to.be.called;\n\n    ae.enable();\n    expect(spy).to.be.calledOnce;\n    expect(spy.firstCall.args[1].lastValue).to.equal(1)\n  });\n\n  it('.setExpression while disabled, then no check on re-enabling', () => {\n    const spy = sinon.spy();\n    var o1 = { p: 1 }\n    var o2 = { p: 2 }\n    let ae = aexpr(() => o1.p, { disabled: true }).onChange(spy)\n\n    ae.setExpression(() => o2.p);\n    expect(spy).not.to.be.called;\n\n    ae.enable({ check: false });\n\n    o2.p = 3\n    expect(spy).to.be.calledOnce;\n    expect(spy.firstCall.args[1].lastValue).to.equal(2)\n  });\n\n});\n"]}