mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
Draggable Tests: fix IE scroll tests affected by focus issues.
Calling element.focus() causes scroll in IE. In order to correctly test scroll behavior, we must calculate scrollTop on the drag event, before .focus is called.
This commit is contained in:
parent
f1025298cc
commit
dc1e63b432
@ -835,7 +835,8 @@ test( "scroll, scrollSensitivity, and scrollSpeed", function() {
|
|||||||
|
|
||||||
TestHelpers.draggable.setScrollable( "#main", false );
|
TestHelpers.draggable.setScrollable( "#main", false );
|
||||||
|
|
||||||
var viewportHeight = $( window ).height(),
|
var currentScrollTop,
|
||||||
|
viewportHeight = $( window ).height(),
|
||||||
element = $( "#draggable1" ).draggable({ scroll: true }).appendTo( "#qunit-fixture" ),
|
element = $( "#draggable1" ).draggable({ scroll: true }).appendTo( "#qunit-fixture" ),
|
||||||
scrollSensitivity = element.draggable( "option", "scrollSensitivity" ),
|
scrollSensitivity = element.draggable( "option", "scrollSensitivity" ),
|
||||||
scrollSpeed = element.draggable( "option", "scrollSpeed" );
|
scrollSpeed = element.draggable( "option", "scrollSpeed" );
|
||||||
@ -845,14 +846,16 @@ test( "scroll, scrollSensitivity, and scrollSpeed", function() {
|
|||||||
left: 1
|
left: 1
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$( element ).one( "drag", function() {
|
||||||
|
equal( $( window ).scrollTop(), 0, "scroll: true doesn't scroll when the element is dragged outside of scrollSensitivity" );
|
||||||
|
});
|
||||||
|
|
||||||
element.simulate( "drag", {
|
element.simulate( "drag", {
|
||||||
dx: 1,
|
dx: 1,
|
||||||
y: viewportHeight - scrollSensitivity - 1,
|
y: viewportHeight - scrollSensitivity - 1,
|
||||||
moves: 1
|
moves: 1
|
||||||
});
|
});
|
||||||
|
|
||||||
ok( $( window ).scrollTop() === 0, "scroll: true doesn't scroll when the element is dragged outside of scrollSensitivity" );
|
|
||||||
|
|
||||||
element.draggable( "option", "scrollSensitivity", scrollSensitivity + 10 );
|
element.draggable( "option", "scrollSensitivity", scrollSensitivity + 10 );
|
||||||
|
|
||||||
element.offset({
|
element.offset({
|
||||||
@ -860,14 +863,18 @@ test( "scroll, scrollSensitivity, and scrollSpeed", function() {
|
|||||||
left: 1
|
left: 1
|
||||||
});
|
});
|
||||||
|
|
||||||
|
currentScrollTop = $( window ).scrollTop();
|
||||||
|
|
||||||
|
$( element ).one( "drag", function() {
|
||||||
|
ok( $( window ).scrollTop() - currentScrollTop, scrollSpeed, "scroll: true scrolls when the element is dragged within scrollSensitivity" );
|
||||||
|
});
|
||||||
|
|
||||||
element.simulate( "drag", {
|
element.simulate( "drag", {
|
||||||
dx: 1,
|
dx: 1,
|
||||||
y: viewportHeight - scrollSensitivity - 1,
|
y: viewportHeight - scrollSensitivity - 1,
|
||||||
moves: 1
|
moves: 1
|
||||||
});
|
});
|
||||||
|
|
||||||
ok( $( window ).scrollTop() === scrollSpeed, "scroll: true scrolls when the element is dragged within scrollSensitivity" );
|
|
||||||
|
|
||||||
TestHelpers.draggable.restoreScroll( document );
|
TestHelpers.draggable.restoreScroll( document );
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user