{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-core/src/client/reactive/test/active-expression-rewriting/expression-analysis.spec.js"],"names":["chai","expect","sinon","sinonChai","use","x","decrease","y","ae","spy","onChange"],"mappings":"AAAA;;;;;;;;;;;;;;;;AAEOA,U;AAAOC,Y,sBAAAA,M;;AACPC,W;;AACAC,e;;;;;;;;;;;;;;AAFOF,iS;;;;;;;;;;;;;;;;;;;;;;;;;;AAAPD,+R;;;;;;;;;;;;;;;;;;;;;;;;;;AACAE,gS;;;;;;;;;;;;;;;;;;;;;;;;;;AACAC,oS;;;;;;;;;;;;;;;;;;;;AACP,yFAAKC,GAAL,wFAASD,SAAT;;AAEA,oFAAS,wCAAT,EAAmD,MAAM;;AAEvD,0EAAG,wCAAH,EAA6C,MAAM;AAAA;;AACjD,cAAIE,IAAI,CAAR;AACA,gBAAMC,WAAWC,KAAK;AAAA;;AACpBA,gBAAI,6EAAI,CAAR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,0FAAOA,CAAP;AACD,WAHD;;AAKA;AACA,gBAAMC,KAAK,OAAM,MAAM;AAAA;;AACrB,gBAAID,4EAAIF,CAAJ,CAAJ;AACA,wJAASE,CAAT,YAASA,CAAT,4EAASA,CAAT,EAASA,CAAT;AACA,mBAAO,mGAAI,CAAX;AACD,WAJU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAX;;AAMA,cAAIE,8EAAM,sFAAMA,GAAN,EAAN,CAAJ;AACA,iHAAGC,QAAH,EAAYD,GAAZ,YAAYA,GAAZ,gFAAYA,GAAZ,EAAYA,GAAZ;AAAA;AAAA;;AAEAJ,cAAI,EAAJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA,qIAAOI,GAAP,YAAOA,GAAP,gFAAOA,GAAP,EAAOA,GAAP;AACD,SApBD;;AAsBA,0EAAG,mCAAH,EAAwC,MAAM;AAAA;;AAC5C,cAAIJ,IAAI,CAAR;AACA,gBAAMG,KAAK,OAAM,MAAM;AAAA;;AACrB,gBAAID,4EAAIF,CAAJ,CAAJ;AACA,mBAAO,oGAAI,CAAX;AACD,WAHU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAX;;AAKA,cAAII,8EAAM,sFAAMA,GAAN,EAAN,CAAJ;AACA,iHAAGC,QAAH,EAAYD,GAAZ,YAAYA,GAAZ,gFAAYA,GAAZ,EAAYA,GAAZ;AAAA;AAAA;;AAEAJ,cAAI,EAAJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA,qIAAOI,GAAP,YAAOA,GAAP,gFAAOA,GAAP,EAAOA,GAAP;AACD,SAbD;AAeD,OAvCD","file":"expression-analysis.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('expression analysis mode-related stuff', () => {\n\n  it(\"set local while in expression analysis\", () => {\n    let x = 3;\n    const decrease = y => {\n      y = y - 1;\n      return y;\n    }\n\n    debugger\n    const ae = aexpr(() => {\n      let y = x;\n      decrease(y);\n      return y > 3;\n    });\n    \n    let spy = sinon.spy();\n    ae.onChange(spy);\n\n    x = 33;\n\n    expect(spy).to.be.calledOnce;\n  });\n\n  it(\"get local in variable declaration\", () => {\n    let x = 3;\n    const ae = aexpr(() => {\n      let y = x;\n      return y > 3;\n    });\n    \n    let spy = sinon.spy();\n    ae.onChange(spy);\n\n    x = 33;\n\n    expect(spy).to.be.calledOnce;\n  });\n\n});\n"]}