aboutsummaryrefslogtreecommitdiffstats
path: root/tests/unit
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit')
-rw-r--r--tests/unit/spinner/core.js14
-rw-r--r--tests/unit/spinner/mousewheel-wheel.html72
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>