| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- import 'basic-mouse-event-polyfill-phantomjs'
- import { addEvent, removeEvent, offset, getRect, preventDefaultException, tap, click, prepend } from 'scroll/util/dom'
- describe('dom.js', () => {
- it('#addEvent() & #removeEvent()', () => {
- const ele = document.createElement('div')
- const cb = sinon.spy()
- addEvent(ele, 'click', cb)
- ele.click()
- expect(cb)
- .to.be.calledOnce
- removeEvent(ele, 'click', cb)
- ele.click()
- expect(cb)
- .not.to.be.calledTwice
- })
- it('#offset()', () => {
- const ele = document.createElement('div')
- const { left, top } = offset(ele)
- expect(left)
- .to.equal(0)
- expect(top)
- .to.equal(0)
- })
- it('#getRect()', () => {
- const ele = document.createElement('div')
- document.body.appendChild(ele)
- const { top, left, width, height } = getRect(ele)
- expect(top)
- .to.equal(8)
- expect(left)
- .to.equal(8)
- expect(width)
- .to.equal(359)
- expect(height)
- .to.equal(0)
- document.body.removeChild(ele)
- })
- it('#preventDefaultException()', () => {
- const exceptions = {
- tagName: /div/i
- }
- const divEl = document.createElement('div')
- const spanEl = document.createElement('span')
- expect(preventDefaultException(divEl, exceptions))
- .to.be.true
- expect(preventDefaultException(spanEl, exceptions))
- .to.be.false
- })
- it('#tap', () => {
- const ele = document.createElement('div')
- const cb = sinon.spy()
- const event = {
- pageX: 1,
- pageY: 2,
- target: ele
- }
- addEvent(ele, 'tap', cb)
- tap(event, 'tap')
- expect(cb)
- .to.be.calledOnce
- })
- it('#click', () => {
- let ele = document.createElement('div')
- let cb = sinon.spy()
- let event = {
- target: ele
- }
- addEvent(ele, 'click', cb)
- click(event)
- expect(cb)
- .to.be.calledOnce
- })
- it('#prepend', () => {
- const ele = document.createElement('div')
- const target = document.createElement('span')
- const el = document.createElement('section')
- prepend(el, ele)
- expect(ele.firstChild)
- .to.equal(el)
- expect(ele.childNodes.length)
- .to.equal(1)
- prepend(target, ele)
- expect(ele.firstChild)
- .to.equal(target)
- })
- })
|