{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-markus/src/client/reactive/test/active-expression-rewriting/locals.spec.js"],"names":["chai","expect","sinon","sinonChai","use","spy","local","ae","onChange","dependencies","dispose","changeLocal","lol"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;AAEOA,U;AAAOC,Y,sBAAAA,M;;AACPC,W;;AACAC,e;;;;;;;;;;;;;AAFOF,iD;;;;;;;;;;;;;;;;;;;;;;;;;AAAPD,+C;;;;;;;;;;;;;;;;;;;;;;;;;AACAE,gD;;;;;;;;;;;;;;;;;;;;;;;;;AACAC,oD;;;;;;;;;;;;;;;;;;;;AACP,yFAAKC,GAAL,wFAASD,SAAT;;AAEA,oFAAS,QAAT,EAAmB,YAAW;;AAE5B,0EAAG,+BAAH,EAAoC,MAAM;AACxC,gBAAME,8EAAM,sFAAMA,GAAN,EAAN,CAAN;AACA,gBAAMC,QAAQ,EAAd;;AAEA,gBAAMC,KAAK,OAAM;AAAMD;AAAN,WAAN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAAmBE,QAAnB,CAA4BH,GAA5B;AAAA;AAAA,YAAX;;AAEA,2OAAOE,GAAGE,YAAH,EAAP,4CAAgD,CAAhD;AACA,2IAAOJ,GAAP,iCAA8B,CAA9B;AAPwC;AAQxCE,aAAGG,OAAH;AACD,SATD;;AAWA,0EAAG,iDAAH,EAAsD,MAAM;AAC1D,gBAAML,8EAAM,sFAAMA,GAAN,EAAN,CAAN;;AAEA,cAAIC,QAAQ,EAAZ;;AAEA,gBAAMC,KAAK,OAAM;AAAMD;AAAN,WAAN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAAmBE,QAAnB,CAA4BH,GAA5B;AAAA;AAAA,YAAX;;AAEA,2OAAOE,GAAGE,YAAH,EAAP,4CAAgD,CAAhD;AACA,2IAAOJ,GAAP,iCAA8B,CAA9B;AAR0D;AAS1DE,aAAGG,OAAH;AACD,SAVD;;AAYA,0EAAG,0CAAH,EAA+C,MAAM;AAAA;;AACnD,gBAAML,8EAAM,sFAAMA,GAAN,EAAN,CAAN;;AAEA,cAAIC,QAAQ,EAAZ;;AAEA,gBAAMC,KAAK,OAAM;AAAMD;AAAN,WAAN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAAmBE,QAAnB,CAA4BH,GAA5B;AAAA;AAAA,YAAX;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA,2OAAOE,GAAGE,YAAH,EAAP,4CAAgD,CAAhD;AACA,2IAAOJ,GAAP,iCAA8B,CAA9B;AAVmD;AAWnDE,aAAGG,OAAH;AACD,SAZD;;AAcA,0EAAG,kDAAH,EAAuD,MAAM;AAC3D,gBAAML,8EAAM,sFAAMA,GAAN,EAAN,CAAN;;AAEA,gBAAMM,cAAeL,KAAD;AAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAX,WAApB;;AAEA,cAAIA,QAAQ,EAACM,KAAK,CAAN,EAAZ;;AAEA,gBAAML,KAAK,OAAM;AAAM;AAAN,WAAN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAAuBC,QAAvB,CAAgCH,GAAhC;AAAA;AAAA,YAAX;;AAEAM,sBAAYL,KAAZ;;AAEA,2OAAOC,GAAGE,YAAH,EAAP,4CAAgD,CAAhD;AACA,2IAAOJ,GAAP,iCAA8B,CAA9B;AAZ2D;AAa3DE,aAAGG,OAAH;AACD,SAdD;AAgBD,OAvDD","file":"locals.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('locals', function() {\n  \n  it('does not track constant local', () => {\n    const spy = sinon.spy();\n    const local = 10;\n    \n    const ae = aexpr(() => local).onChange(spy);\n\n    expect(ae.dependencies().all().length).to.equal(0);\n    expect(spy).to.have.callCount(0);\n    ae.dispose();\n  });\n\n  it('does not track local without constant violation', () => {\n    const spy = sinon.spy();\n    \n    let local = 10;\n    \n    const ae = aexpr(() => local).onChange(spy);\n\n    expect(ae.dependencies().all().length).to.equal(0);\n    expect(spy).to.have.callCount(0);\n    ae.dispose();\n  });\n\n  it('does track local with constant violation', () => {\n    const spy = sinon.spy();\n    \n    let local = 10;\n    \n    const ae = aexpr(() => local).onChange(spy);\n    \n    local++;\n\n    expect(ae.dependencies().all().length).to.equal(1);\n    expect(spy).to.have.callCount(1);\n    ae.dispose();\n  });\n\n  it('does track local getting passed to another scope', () => {\n    const spy = sinon.spy();\n    \n    const changeLocal = (local) => local.lol++;\n    \n    let local = {lol: 1};\n    \n    const ae = aexpr(() => local.lol).onChange(spy);\n    \n    changeLocal(local);\n\n    expect(ae.dependencies().all().length).to.equal(1);\n    expect(spy).to.have.callCount(1);\n    ae.dispose();\n  });\n\n});\n"]}