{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-markus/src/client/reactive/test/babel-plugin-polymorphic-identifiers/babel-plugin-polymorphic-identifiers.spec.js"],"names":["PIScheme","local","ls","localStorage","q","query","chai","expect","sinon","sinonChai","uuid","use","fourtyTwo","read","prop","initialize","write","value","o","foo","func","evalFunction","id","self","v1","v2","testElement","e","remove","expectedProp","setAttribute","expectedStyle","expectedHTML","expectedResult","document","getAttribute"],"mappings":"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","file":"babel-plugin-polymorphic-identifiers.spec.js","sourcesContent":["'pi';\n\"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\nimport { PIScheme, local, localStorage as ls, query as q } from 'polymorphic-identifiers';\nimport { uuid } from 'utils';\n\ndescribe(\"PI\", function () {\n\n  it(\"is defined\", () => {\n    expect(PIScheme).to.be.ok;\n  });\n\n  it(\"detects accesses\", () => {\n    class fourtyTwo extends PIScheme {\n      read() {\n        return 42;\n      }\n    }\n\n    expect(fourtyTwo``).to.equal(42);\n  });\n\n  it(\"can access the `this` reference\", () => {\n    class prop extends PIScheme {\n      initialize() {\n        this.prop = this.strings.first;\n      }\n      read() {\n        return this.thisReference[this.prop];\n      }\n      write(value) {\n        return this.thisReference[this.prop] = value;\n      }\n    }\n\n    // read\n    const o = {\n      foo: 17,\n      func() {\n        return prop`foo`;\n      },\n      write(value) {\n        prop`bar` << value;\n      }\n    };\n    expect(o.func()).to.equal(17\n\n    // write\n    );o.write(23);\n    expect(o.bar).to.equal(23);\n  });\n\n  it(\"can access locals with eval\", () => {\n    class local extends PIScheme {\n      initialize() {\n        this.local = this.strings.first;\n      }\n      read() {\n        return this.evalFunction(this.local);\n      }\n      write(value) {\n        const id = uuid();\n        self[id] = value;\n        try {\n          return this.evalFunction(this.local + ` = self['${id}']`);\n        } finally {\n          delete self[id];\n        }\n      }\n    }\n\n    let v1 = 'v1',\n        v2 = 42;\n\n    // read\n    expect(local`v1`).to.equal('v1'\n\n    // write\n    );local`v2` << \"v2\";\n    expect(v2).to.equal('v2');\n\n    // read/write\n    local`v2` << local`v2` + '.2';\n    expect(v2).to.equal('v2.2');\n  });\n\n  it(\"ignore normal tagged template strings\", () => {\n    function foo() {\n      return 'bar';\n    }\n\n    expect(foo``).to.equal('bar');\n  });\n});\n\ndescribe(\"PI Schemes\", function () {\n\n  it(\"is defined\", () => {\n    expect(PIScheme).to.be.ok;\n  });\n\n  it(\"detects accesses\", () => {\n    class fourtyTwo extends PIScheme {\n      read() {\n        return 42;\n      }\n    }\n\n    expect(fourtyTwo``).to.equal(42);\n  });\n\n  it(\"can access the `this` reference\", () => {\n    class prop extends PIScheme {\n      initialize() {\n        this.prop = this.strings.first;\n      }\n      read() {\n        return this.thisReference[this.prop];\n      }\n      write(value) {\n        return this.thisReference[this.prop] = value;\n      }\n    }\n\n    // read\n    const o = {\n      foo: 17,\n      func() {\n        return prop`foo`;\n      },\n      write(value) {\n        prop`bar` << value;\n      }\n    };\n    expect(o.func()).to.equal(17\n\n    // write\n    );o.write(23);\n    expect(o.bar).to.equal(23);\n  });\n\n  it(\"local: can access local variables with eval\", () => {\n    let v1 = 'v1',\n        v2 = 42;\n\n    // read\n    expect(local`v1`).to.equal('v1'\n\n    // write\n    );local`v2` << \"v2\";\n    expect(v2).to.equal('v2');\n\n    // read/write\n    local`v2` << local`v2` + '.2';\n    expect(v2).to.equal('v2.2');\n  });\n\n  it(\"ls/localStorage\", () => {\n    localStorage.setItem;\n\n    let v1 = 'v1',\n        v2 = 42;\n\n    // read\n    expect(local`v1`).to.equal('v1'\n\n    // write\n    );local`v2` << \"v2\";\n    expect(v2).to.equal('v2');\n\n    // read/write\n    local`v2` << local`v2` + '.2';\n    expect(v2).to.equal('v2.2');\n  });\n\n  describe(\"query\", function () {\n\n    let testElement;\n    beforeEach(() => {\n      document.body.querySelectorAll('.query-test').forEach(e => e.remove());\n      testElement = <div class=\"query-test\">17</div>;\n      document.body.appendChild(testElement);\n    });\n    afterEach(() => {\n      testElement.remove();\n    });\n\n    it(\"is defined\", () => {\n      expect(q).to.be.ok;\n    });\n\n    it(\"return testElement\", () => {\n      expect(q`.query-test`).to.equal(testElement);\n    });\n\n    it(\"return a property\", () => {\n      const expectedProp = testElement.myProp = {};\n      expect(q`.query-test/prop/myProp`).to.equal(expectedProp);\n    });\n\n    it(\"return an attribute\", () => {\n      testElement.setAttribute('myAttr', 24);\n      expect(q`.query-test/attr/myAttr`).to.equal('24');\n    });\n\n    it(\"return a style\", () => {\n      testElement.style.border = '3px solid red';\n      expect(q`.query-test/style/border`).to.equal(testElement.style.border);\n    });\n\n    it(\"return a style in camel- and kebabcase\", () => {\n      const expectedStyle = testElement.style.backgroundColor = 'red';\n      expect(q`.query-test/style/background-color`).to.equal(expectedStyle);\n      expect(q`.query-test/style/backgroundColor`).to.equal(expectedStyle);\n    });\n\n    it(\"return innerHTML\", () => {\n      const expectedHTML = testElement.innerHTML = 'hello';\n      expect(q`.query-test/html`).to.equal(expectedHTML);\n    });\n\n    it(\"replace testElement\", () => {\n      const expectedResult = <div id={'this-is-the-expected-result'}></div>;\n\n      q`.query-test` << expectedResult;\n      expect(document.body.contains(testElement)).to.be.false;\n      expect(document.body.contains(expectedResult)).to.be.true;\n    });\n\n    it(\"set a property\", () => {\n      const expectedProp = {};\n      q`.query-test/prop/myProp` << expectedProp;\n      expect(testElement.myProp).to.equal(expectedProp);\n    });\n\n    it(\"set an attribute\", () => {\n      q`.query-test/attr/myAttr` << 24;\n      expect(testElement.getAttribute('myAttr')).to.equal('24');\n    });\n\n    it(\"set a style\", () => {\n      const expectedStyle = '3px solid red';\n      q`.query-test/style/border` << expectedStyle;\n      expect(testElement.style.border).to.equal(expectedStyle);\n    });\n\n    it(\"set a style in camel- and kebabcase\", () => {\n      let expectedStyle = 'red';\n      q`.query-test/style/background-color` << expectedStyle;\n      expect(testElement.style.backgroundColor).to.equal(expectedStyle);\n\n      expectedStyle = 'blue';\n      q`.query-test/style/backgroundColor` << expectedStyle;\n      expect(testElement.style.backgroundColor).to.equal(expectedStyle);\n    });\n\n    it(\"set innerHTML\", () => {\n      const expectedHTML = 'hello';\n      q`.query-test/html` << expectedHTML;\n      expect(testElement.innerHTML).to.equal(expectedHTML);\n    });\n\n  });\n});"]}