{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-bp2019/test/lively-test.js"],"names":["expect","pt","lively","window","it","describe","target","document","createElement","target2","type","listener","hello","listener2","hello2","domain","oldListeners","before","eventListeners","after","addEventListener","length","removedCalled","target1","removeEventListener","undefined","to","be","true","getPosition","querySelector","x","a","div","innerHTML","path","equal","setPosition","itself","respondTo","dependents","findDependedModules","include","SystemJS","normalizeSync","not","dependents2","recursiveDependents","element","setGlobalPosition","setExtent","sut","body","appendChild","child","result","getTotalGlobalBounds","width","gt","remove","isInBody","false"],"mappings":"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","file":"lively-test.js","sourcesContent":["import {expect} from 'src/external/chai.js'\nimport {pt}  from 'src/client/graphics.js'\nimport './a.js';\nimport './b.js';\nimport './c.js';\n\nvar lively = window.lively; var it = window.it\n\ndescribe('Register Event Listeners', function() {\n  var target = document.createElement(\"div\");\n  var target2 = document.createElement(\"div\");\n  var type = \"click\";\n  var listener = function hello() { } ;\n  var listener2 = function hello2() { return 3} ;\n  var domain = \"selection\";\n  var oldListeners;\n\n  before(() => {\n    oldListeners = lively.eventListeners;\n  })\n  \n  after(() => {\n    lively.eventListeners = oldListeners;\n  });\n\n  it('should register events when adding events',  () => {\n    lively.eventListeners = [];\n    lively.addEventListener(domain, target, type, listener) ;\n    expect(lively.eventListeners).length(1);\n  });\n  \n  it('should unregister events of a domain',  () => {\n    var removedCalled = false\n    lively.eventListeners = [];\n    var target1 = document.createElement(\"div\");\n    target1.removeEventListener = () => {\n      removedCalled = true\n    }\n    \n    lively.addEventListener(domain, target1, type, listener);\n    lively.addEventListener(\"domain2\", target2, type, listener);\n    expect(lively.eventListeners).length(2);\n    lively.removeEventListener(domain, undefined, undefined, undefined); \n    expect(lively.eventListeners).length(1);\n    expect(removedCalled).to.be.true()\n  });\n\n  it('should unregister events of a target',  () => {\n    lively.eventListeners = [];\n    lively.addEventListener(domain, target, type, listener)\n    lively.addEventListener(domain, target2, type, listener);\n    expect(lively.eventListeners).length(2);\n    lively.removeEventListener(undefined, target2, undefined, undefined); \n    expect(lively.eventListeners).length(1);\n  });\n  \n    \n  it('should unregister events of a type',  () => {\n    lively.eventListeners = [];\n    lively.addEventListener(domain, target, type, listener);\n    lively.addEventListener(domain, target, \"mousedown\", listener);\n    expect(lively.eventListeners).length(2);\n    lively.removeEventListener(undefined, undefined, \"click\", undefined); \n    expect(lively.eventListeners).length(1);\n  });\n\n  it('should unregister events of a listener',  () => {\n    lively.eventListeners = [];\n    lively.addEventListener(domain, target, type, listener);\n    lively.addEventListener(domain, target, type, listener2);\n    expect(lively.eventListeners).length(2);\n    lively.removeEventListener(undefined, undefined, undefined, listener2); \n    expect(lively.eventListeners).length(1);\n  });\n\n  it('should unregister events of a listener and domain',  () => {\n    lively.eventListeners = [];\n    lively.addEventListener(domain, target, type, listener);\n    lively.addEventListener(domain, target, type, listener2);\n    lively.addEventListener(domain, target, \"mousedown\", listener2);\n    expect(lively.eventListeners).length(3);\n    lively.removeEventListener(domain, undefined, undefined, listener2); \n    expect(lively.eventListeners).length(1);\n  });\n\n});\n\n\ndescribe('Position API', function() {\n  \n  describe('getPosition', function() {\n\n    it('should return plain numbers in getter', () => {\n      expect(lively.getPosition(document.querySelector('body')).x).to.be.a('number')\n    })\n\n\n    it('should return transform of a svg path', () => {\n      var div = document.createElement(\"div\")\n      div.innerHTML = `<svg>\n    <path transform='translate(100 200)' d='M 0 0 L 100 100'></path>\n  </svg>`\n      var path = div.querySelector(\"path\")\n      expect(lively.getPosition(path).x).to.equal(100)\n    })\n    \n    it('should return 0,0 of a svg path with no transform', () => {\n      var div = document.createElement(\"div\")\n      div.innerHTML = `<svg>\n    <path transform='' d='M 0 0 L 100 100'></path>\n  </svg>`\n      var path = div.querySelector(\"path\")\n      expect(lively.getPosition(path).x).to.equal(0)\n    })\n  })\n  \n  describe('setPosition', function() {\n\n    it('should set transform of a svg path', () => {\n      var div = document.createElement(\"div\")\n      div.innerHTML = `<svg>\n    <path transform=\"translate(0 0)\" d='M 0 0 L 100 100'></path>\n  </svg>`\n      var path = div.querySelector(\"path\")\n      lively.setPosition(path, pt(100,200))\n      expect(lively.getPosition(path).x).to.equal(100)\n    })\n    \n    \n    it('should set transform of a svg path with no transform', () => {\n      var div = document.createElement(\"div\")\n      div.innerHTML = `<svg>\n    <path d='M 0 0 L 100 100'></path>\n  </svg>`\n      var path = div.querySelector(\"path\")\n      // var t = path.transform.baseVal.consolidate()\n      \n      // t.setTranslate(100,300)\n      \n      // path.getAttribute(\"transform\")\n      // var p = new DOMPoint(0, 0)\n      // p.matrixTransform(t)\n      // t = path.transform.baseVal.consolidate().matrix\n      \n      \n      lively.setPosition(path, pt(100,200))\n      \n      expect(lively.getPosition(path).x).to.equal(100)\n    })\n  })\n  \n  \n  \n})\n \ndescribe('findDependentModules', function() {\n  it('findDependentModules', () => {\n    expect(lively).itself.to.respondTo('findDependedModules');\n    \n    let dependents = lively.findDependedModules('test/a.js');\n    expect(dependents).to.include(SystemJS.normalizeSync('test/b.js'));\n    expect(dependents).to.not.include(SystemJS.normalizeSync('test/c.js'));\n    \n    let dependents2 = lively.findDependedModules('test/b.js');\n    expect(dependents2).to.include(SystemJS.normalizeSync('test/c.js'));\n  });\n  it('findDependentModules recursive', () => {\n    expect(lively).itself.to.respondTo('findDependedModules');\n    \n    \n    \n    let recursiveDependents = lively.findDependedModules('test/a.js', true);\n    expect(recursiveDependents).to.include(SystemJS.normalizeSync('test/b.js'));\n    expect(recursiveDependents).to.include(SystemJS.normalizeSync('test/c.js'));\n  });\n});\n\ndescribe('getTotalGlobalBounds', function() {\n  \n  it('return global bounds of an element', () => {\n    var element = document.createElement(\"div\");\n    lively.setGlobalPosition(element, pt(0,0));\n    lively.setExtent(element, pt(100,100))\n    this.sut = element;\n    document.body.appendChild(this.sut);\n    var child = document.createElement(\"div\");\n    element.appendChild(child);\n\n    lively.setPosition(child, pt(200,300));\n    lively.setExtent(child, pt(300,400));\n\n    var result= lively.getTotalGlobalBounds(element);\n    expect(result.width).to.gt(100) // #TODO this is weired in #Travis 901 vs 500\n  })\n    \n  after(\"cleanup\", () => {\n    this.sut && this.sut.remove()\n  });\n})\n\n\ndescribe('isInBody', function() {\n  \n  it('should return false when not open', () => {\n    var element = document.createElement(\"div\");\n    \n    this.sut = element;\n\n    expect(lively.isInBody(this.sut)).to.be.false \n  })\n  \n  it('should return true when open', () => {\n    var element = document.createElement(\"div\");\n    \n    this.sut = element;\n    document.body.appendChild(this.sut);\n\n    expect(lively.isInBody(this.sut)).to.be.true \n  })\n    \n  after(\"cleanup\", () => {\n    this.sut && this.sut.remove()\n  });\n})\n\n\n\n\n\n  \n  "]}