{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-active-expression-proxies/src/client/reactive/test/active-groups/selector.spec.js"],"names":["chai","expect","sinon","sinonChai","select","wait","use","div","createElement","sel","now","remove","sel1","sel2","success"],"mappings":"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","file":"selector.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\nimport select from 'active-group';\n\nimport { wait } from 'utils';\n\ndescribe(\"select('css selector')\", async () => {\n  it(\"contains an existing div\", async () => {\n    const div = document.createElement('div');\n    document.body.appendChild(div);\n    \n    const sel = select('div');\n    \n    await wait(250);\n    expect(sel.now()).to.include(div);\n    \n    div.remove();\n  });\n  it(\"existing div recognized by two selections\", async () => {\n    const div = document.createElement('div');\n    document.body.appendChild(div);\n    \n    const sel1 = select('div');\n    const sel2 = select('div');\n    \n    await wait(250);\n    expect(sel1.now()).to.include(div);\n    expect(sel2.now()).to.include(div);\n    \n    div.remove();\n  });\n  it(\"recognizes a div later matching the selector\", async () => {\n    const div = document.createElement('div');\n    document.body.appendChild(div);\n    \n    const sel = select('div#my-test-div');\n    await wait(250);\n    expect(sel.now()).not.to.include(div);\n\n    div.id = 'my-test-div';\n    await wait(250);\n    expect(sel.now()).to.include(div);\n    \n    div.remove();\n  });\n  it(\"recognizes a newly added div\", async () => {\n    const sel = select('div');\n    \n    const div = document.createElement('div');\n    document.body.appendChild(div);\n    \n    await wait(250);\n    expect(sel.now()).to.include(div);\n    \n    div.remove();\n  });\n  it(\"recognizes a removed div\", async () => {\n    const div = document.createElement('div');\n    document.body.appendChild(div);\n    \n    const sel = select('div');\n    await wait(250);\n\n    div.remove();\n\n    await wait(250);\n    lively.success(sel.now().length)\n    expect(sel.now()).not.to.include(div);\n  });\n  it(\"recognizes a div no longer matching the selector\", async () => {\n    const div = document.createElement('div');\n    div.id = 'my-test-div';\n    document.body.appendChild(div);\n    \n    const sel = select('div#my-test-div');\n    await wait(250);\n\n    div.id = 'another id';\n\n    await wait(250);\n    lively.success(sel.now().length);\n    expect(sel.now()).not.to.include(div);\n    \n    div.remove();\n  });\n});\n"]}