diff options
Diffstat (limited to 'tests/unit')
-rw-r--r-- | tests/unit/spinner/core.js | 14 | ||||
-rw-r--r-- | tests/unit/spinner/mousewheel-wheel.html | 72 |
2 files changed, 86 insertions, 0 deletions
diff --git a/tests/unit/spinner/core.js b/tests/unit/spinner/core.js index befe439f6..42bcc7bb5 100644 --- a/tests/unit/spinner/core.js +++ b/tests/unit/spinner/core.js @@ -239,6 +239,20 @@ QUnit.test( "mousewheel on input (DEPRECATED)", function( assert ) { } } ); +helper.testIframe( + "wheel & mousewheel conflicts", + "mousewheel-wheel.html", + function( assert, jQuery, window, document, values ) { + assert.expect( 5 ); + + assert.equal( values[ 0 ], 0, "wheel event without delta does not change value" ); + assert.equal( values[ 1 ], 2, "delta -1" ); + assert.equal( values[ 2 ], 0, "delta 0.2" ); + assert.equal( values[ 3 ], -2, "delta 15" ); + assert.equal( values[ 4 ], -2, "wheel when not focused" ); + } +); + QUnit.test( "reading HTML5 attributes", function( assert ) { assert.expect( 6 ); var markup = "<input type='number' min='-100' max='100' value='5' step='2'>", diff --git a/tests/unit/spinner/mousewheel-wheel.html b/tests/unit/spinner/mousewheel-wheel.html new file mode 100644 index 000000000..e512a36cc --- /dev/null +++ b/tests/unit/spinner/mousewheel-wheel.html @@ -0,0 +1,72 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>jQuery UI Spinner Test Suite</title> + + <script src="../../../external/requirejs/require.js"></script> + <script src="../../../external/jquery/jquery.js"></script> + <script src="../../lib/css.js" data-modules="core button spinner theme"></script> + <script src="../../lib/testIframe.js"></script> +</head> +<body> + +<input id="spin" class="foo"> + +<script> + function runTest() { + var values = [], + element = $( "#spin" ).val( 0 ).spinner( { + step: 2 + } ); + + element.focus(); + setTimeout( step1 ); + + function dispatchWheelEvent( elem, deltaY ) { + elem[ 0 ].dispatchEvent( new WheelEvent( "wheel", { + deltaY: deltaY + } ) ); + } + + function step1() { + dispatchWheelEvent( element ); + values.push( element.val() ); + + dispatchWheelEvent( element, -1 ); + values.push( element.val() ); + + dispatchWheelEvent( element, 0.2 ); + values.push( element.val() ); + + dispatchWheelEvent( element, 15 ); + values.push( element.val() ); + + element.blur(); + setTimeout( step2 ); + } + + function step2() { + dispatchWheelEvent( element, -1 ); + values.push( element.val() ); + + startIframeTest( values ); + } + } + + requirejs.config( { + paths: { + "jquery-mousewheel": "../../../external/jquery-mousewheel/jquery.mousewheel", + "ui": "../../../ui" + }, + } ); + + require( [ + "jquery-mousewheel", + "ui/widgets/spinner" + ], function() { + runTest(); + } ); +</script> +</body> +</html> |