рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ jsdom рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ getBoundingClientRect() рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдореИрдВ simulantjs рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдореЗрд░рд╛ рдХрдВрд╕реЛрд▓ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рд▓реЙрдЧ рдХрд░рддрд╛ рд╣реИ->
const wrapper = mount(
<Provider store={store}>
<FullDecoratedBlock
uid={'test'}
setFocusedElement={setFocusedElement}/>
</Provider>, {attachTo: document.getElementById('app')})
expect(wrapper.find('.add-wrap').length).to.eql(0)
simulant.fire(document.body.querySelector('.wrapper-resize-button'), 'mousedown')
simulant.fire(document.body, 'mousemove', {target: {clientX: 51, clientY: 101}})
рд╢рд╛рдпрдж рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ ??
рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛ рд░рд╣рд╛ рд╣реВрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╢рд╛рдпрдж рдпрд╣ #1581, https://github.com/tmpvar/jsdom/issues/653 , https://github.com/tmpvar/jsdom/issues/1322 рдХрд╛ рдзреЛрдЦрд╛ рд╣реИред
@domenic рдореЗрд░реЗ рдкрд╛рд╕ рдШрдЯрдХ рд╣реИ, рдЬрдм рдореИрдВ рдорд╛рдЙрд╕ рдХреЛ рдШрдЯрдХ рдХреЗ рдиреАрдЪреЗ рд▓реЗ рдЬрд╛рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдореЗрд░рд╛ рдШрдЯрдХ рдмрдЯрдЯреЙрдк рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ const rect = node.getBoundingClientRect()
рддрдХ рдЭреБрдХрд╛ рд╣реБрдЖ рд╣реИ, рдЗрд╕ рд░реЗрдХреНрдЯ рдХреЛ рдорд╛рдЙрд╕ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдорд┐рд▓рддреЗ рд╣реИрдВ, рдФрд░ рдШрдЯрдХ рдореЗрдВ const showPlusButton = event.insideX && Math.abs(event.pos.y - event.componentRect.bottom) <= MOUSE_DISTANCE
рд▓рд┐рдЦрддреЗ рд╣реИрдВ
jsdom рдХреЛрдИ рдкреНрд░рддрд┐рдкрд╛рджрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП getBoundingClientRect()
рд╣рдореЗрд╢рд╛ 0,0,0,0 рджреЗрддрд╛ рд╣реИред рдпрд╣ рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рд▓рдВрдмреА рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рднреА)ред рдЖрдк рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдордЬрд╛рдХ рдЙрдбрд╝рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред #653 рднреА рджреЗрдЦреЗрдВред
рдЖрдк рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ
const p = document.createElement('p')
p.getBoundingClientRect = jest.fn(() => ({
x: 851.671875,
y: 200.046875,
width: 8.34375,
height: 17,
top: 967.046875,
right: 860.015625,
bottom: 984.046875,
left: 851.671875,
}))
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдЖрдк рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ .getBoundingClientRect() API рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдирд┐рдореНрди рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ: