test: improve events module test stability
This commit is contained in:
		
							parent
							
								
									43097987cf
								
							
						
					
					
						commit
						460b053f74
					
				@ -12,6 +12,7 @@ describe(`events`, () => {
 | 
				
			|||||||
    el.dispatchEvent(event)
 | 
					    el.dispatchEvent(event)
 | 
				
			||||||
    await nextTick()
 | 
					    await nextTick()
 | 
				
			||||||
    el.dispatchEvent(event)
 | 
					    el.dispatchEvent(event)
 | 
				
			||||||
 | 
					    await nextTick()
 | 
				
			||||||
    expect(fn).toHaveBeenCalledTimes(3)
 | 
					    expect(fn).toHaveBeenCalledTimes(3)
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -27,28 +28,31 @@ describe(`events`, () => {
 | 
				
			|||||||
    el.dispatchEvent(event)
 | 
					    el.dispatchEvent(event)
 | 
				
			||||||
    await nextTick()
 | 
					    await nextTick()
 | 
				
			||||||
    el.dispatchEvent(event)
 | 
					    el.dispatchEvent(event)
 | 
				
			||||||
 | 
					    await nextTick()
 | 
				
			||||||
    expect(prevFn).toHaveBeenCalledTimes(1)
 | 
					    expect(prevFn).toHaveBeenCalledTimes(1)
 | 
				
			||||||
    expect(nextFn).toHaveBeenCalledTimes(2)
 | 
					    expect(nextFn).toHaveBeenCalledTimes(2)
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  it('should support multiple event handlers', () => {
 | 
					  it('should support multiple event handlers', async () => {
 | 
				
			||||||
    const el = document.createElement('div')
 | 
					    const el = document.createElement('div')
 | 
				
			||||||
    const event = new Event('click')
 | 
					    const event = new Event('click')
 | 
				
			||||||
    const fn1 = jest.fn()
 | 
					    const fn1 = jest.fn()
 | 
				
			||||||
    const fn2 = jest.fn()
 | 
					    const fn2 = jest.fn()
 | 
				
			||||||
    patchEvent(el, 'click', null, [fn1, fn2], null)
 | 
					    patchEvent(el, 'click', null, [fn1, fn2], null)
 | 
				
			||||||
    el.dispatchEvent(event)
 | 
					    el.dispatchEvent(event)
 | 
				
			||||||
 | 
					    await nextTick()
 | 
				
			||||||
    expect(fn1).toHaveBeenCalledTimes(1)
 | 
					    expect(fn1).toHaveBeenCalledTimes(1)
 | 
				
			||||||
    expect(fn2).toHaveBeenCalledTimes(1)
 | 
					    expect(fn2).toHaveBeenCalledTimes(1)
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  it('should unassign event handler', () => {
 | 
					  it('should unassign event handler', async () => {
 | 
				
			||||||
    const el = document.createElement('div')
 | 
					    const el = document.createElement('div')
 | 
				
			||||||
    const event = new Event('click')
 | 
					    const event = new Event('click')
 | 
				
			||||||
    const fn = jest.fn()
 | 
					    const fn = jest.fn()
 | 
				
			||||||
    patchEvent(el, 'click', null, fn, null)
 | 
					    patchEvent(el, 'click', null, fn, null)
 | 
				
			||||||
    patchEvent(el, 'click', fn, null, null)
 | 
					    patchEvent(el, 'click', fn, null, null)
 | 
				
			||||||
    el.dispatchEvent(event)
 | 
					    el.dispatchEvent(event)
 | 
				
			||||||
 | 
					    await nextTick()
 | 
				
			||||||
    expect(fn).not.toHaveBeenCalled()
 | 
					    expect(fn).not.toHaveBeenCalled()
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -66,6 +70,7 @@ describe(`events`, () => {
 | 
				
			|||||||
    el.dispatchEvent(event)
 | 
					    el.dispatchEvent(event)
 | 
				
			||||||
    await nextTick()
 | 
					    await nextTick()
 | 
				
			||||||
    el.dispatchEvent(event)
 | 
					    el.dispatchEvent(event)
 | 
				
			||||||
 | 
					    await nextTick()
 | 
				
			||||||
    expect(fn).toHaveBeenCalledTimes(1)
 | 
					    expect(fn).toHaveBeenCalledTimes(1)
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -85,6 +90,7 @@ describe(`events`, () => {
 | 
				
			|||||||
    el.dispatchEvent(event)
 | 
					    el.dispatchEvent(event)
 | 
				
			||||||
    await nextTick()
 | 
					    await nextTick()
 | 
				
			||||||
    el.dispatchEvent(event)
 | 
					    el.dispatchEvent(event)
 | 
				
			||||||
 | 
					    await nextTick()
 | 
				
			||||||
    expect(prevFn).not.toHaveBeenCalled()
 | 
					    expect(prevFn).not.toHaveBeenCalled()
 | 
				
			||||||
    expect(nextFn).toHaveBeenCalledTimes(1)
 | 
					    expect(nextFn).toHaveBeenCalledTimes(1)
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
@ -104,6 +110,7 @@ describe(`events`, () => {
 | 
				
			|||||||
    el.dispatchEvent(event)
 | 
					    el.dispatchEvent(event)
 | 
				
			||||||
    await nextTick()
 | 
					    await nextTick()
 | 
				
			||||||
    el.dispatchEvent(event)
 | 
					    el.dispatchEvent(event)
 | 
				
			||||||
 | 
					    await nextTick()
 | 
				
			||||||
    expect(fn).not.toHaveBeenCalled()
 | 
					    expect(fn).not.toHaveBeenCalled()
 | 
				
			||||||
  })
 | 
					  })
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user