Commit Graph

194 Commits

Author SHA1 Message Date
Michał Gołębiowski-Owczarek
70dae67b73
Build: Migrate from JSHint & JSCS to ESLint
Fixes #15393
Closes gh-1958
2021-06-07 00:58:12 +02:00
Michał Gołębiowski-Owczarek
9ea690a0d9
Tests: Make some number comparisons less strict
Some of the APIs return fractional values in newer jQueries, making comparisons
sometimes not being 100% accurate. Allow some delta.

This is similar to what was already done in
98b539171b but a few cases affecting IE and/or
Edge Legacy were missed.

Closes gh-1947
2021-03-09 00:11:40 +01:00
Michał Gołębiowski-Owczarek
e7a10c70ae
Tests: Ensure no timers are running at the end of each test (#1920)
This helps fix issues that make tooltip tests sometimes fail when run against
jQuery 3.2 or newer due to timing differences.

Details:
* Add the `moduleAfterEach` function ensuring no timers are running.
* Attach this function via `common.testWidget`.
* Attach this function to most test suites.
* Add a tooltip test helper cleaning up leftover timers.
* Rename legacy `setup`/`teardown` hooks to `beforeEach`/`afterEach`.

Closes gh-1920
2020-05-16 09:16:24 +02:00
Michał Gołębiowski-Owczarek
98b539171b All: Migrate away from deprecated/removed Core APIs
Summary of the changes:

* Build: Add jQuery 3.2.0-3.4.1 to versions UI can be tested against
* Build: Load jQuery & Migrate via HTTPS
* Build: Add package-lock.json to .gitignore
* Build: Update jQuery Migrate from 3.0.0 to 3.1.0
* Build: Allow to run tests against jQuery 3.x-git
* Build: Fix formatting according to JSCS rules
* Build: Disable JSCS for the inlined jQuery Color
* All: Switch from $.isArray to Array.isArray (jQuery.isArray will be
  removed in jQuery 4.0)
* All: Switch from `$.isFunction( x )` to `typeof x === "function"`
  (jQuery.isFunction will be removed in jQuery 4.0)
* All: Inline jQuery.isWindow as it'll be removed in jQuery 4.0
* Effects: Fix a timing issue in a variable declaration. Previously,
  a jQuery object was created, chained & assigned to a variable that
  was then accessed in a callback used inside of this chained
  definition. Due to a timing difference in when the callback fired for
  the first time in latest jQuery master, it was being called before
  the variable was defined.
* Tests: Make dialog & draggable unit tests less strict (newest jQuery
  returns fractional results in some cases, making comparisons fail when
  there's a tiny difference)
* All: Migrate from $.trim to bare String.prototype.trim (jQuery.trim
  will be deprecated in jQuery 3.5)

Closes gh-1901
2019-12-08 22:23:08 +01:00
Ryan Oriecuia
8c66934434 Draggable: Fix spurious blur in dialogs on mousedown
I was running into a problem with a popup menu control in a dialog; clicks
weren't working (but keyboard was working fine). It turned out that the menu
was getting destroyed before the click event could fire.

Tracked down the issue to the way draggable blurs focused controls; it was
doing the blur before it ran through the logic to figure out if the drag was
actually on the handle. I've moved the blur below these checks, so it'll only
blur things if it actually needs to handle the drag. Otherwise, it asserts no
opinion on what should and shouldn't be focused, which seems like the way
things ought to be.

Also, added a unit test to check for the expected behavior.

Fixes #15046
Closes gh-1730
2016-09-13 08:53:00 -04:00
Amanpreet Singh
46f607af97 Draggable: Shift to use no globals 2016-04-14 00:06:12 +05:30
Scott González
63c103dd54 Draggable: Improve detection for when to blur the active element
Fixes #12472
Fixes #14905
Closes gh-1548
2016-02-09 13:37:26 -05:00
Scott González
33398fa4f1 Draggable: Skip window bubbling test in IE 8
IE 8 implements DOM Level 2 Events which only has events propagate
up to the document, not the window.

Ref #10818
Ref gh-1621
Closes gh-1627
2015-10-27 11:12:14 -04:00
Jörn Zaefferer
56d6ddc2ba Draggable: Fix options tests
These failed when running through tests/unit/all.html, due to the smaller
iframe. Reducing a browser window enough triggered the same issue. Making
the top offset much smaller fixes that.

The rest is fixing bad indent and adds a missing module call.
2015-10-25 11:22:40 -04:00
Hannah Methvin
a1d69208ba Mouse: Don't stop propagation of mouseup
Fixes #10818
2015-10-18 12:36:43 -04:00
Alexander Schmitz
8336ba7b69 Draggable: Style updates
Ref #14246
2015-09-11 08:29:09 -04:00
Alexander Schmitz
f75c8761cb Draggable: Style updates
Ref #14246
Ref gh-1588
2015-08-21 08:06:23 -04:00
Alexander Schmitz
657b6d0f58 Sortable: Move sortable into widgets folder
Ref #13885
2015-08-08 00:29:39 -04:00
Alexander Schmitz
e59b596141 Resizable: Move resizable into widgets folder
Ref #13885
2015-08-08 00:29:38 -04:00
Alexander Schmitz
8b3005fd58 Droppable: Move droppable into widgets folder
Ref #13885
2015-08-08 00:29:38 -04:00
Alexander Schmitz
3b2db14b3b Draggable: Move draggable into widgets folder
Ref #13885
2015-08-08 00:29:38 -04:00
Alexander Schmitz
ce949812b6 Draggable: Remove core event/alias and deprecated module dependencies 2015-05-20 14:27:56 -04:00
Scott González
6231b161b9 Tests: Fix AMD loading in IE8
It appears that we must load require.js via a standard script tag in order
for it to work properly in IE8.
2015-04-17 12:13:38 -04:00
Scott González
bde431bb44 Tests: Rename files
Ref gh-1528
2015-04-09 09:27:00 -04:00
Scott González
dc4b015a8b Tests: Widget test helpers extend the main helper
Ref #10119
Ref gh-1528
2015-04-09 09:26:58 -04:00
Scott González
fbc55446fb Draggable: Convert tests to new infrastructure
Ref #10119
Ref gh-1528
2015-04-09 09:26:26 -04:00
Scott González
2e1c72fb59 Tests: Convert closeEnough() to a proper QUnit assertion
Should eventually replace with qunit-assert-close.

Ref #10119
Ref gh-1528
2015-04-09 09:24:45 -04:00
TJ VanToll
d0ea32e3ad Revert "Draggable: Set explicit width/height instead of right/bottom"
This reverts commit 8eca7b8f45.

Fixes #10725
2015-04-08 13:15:41 -04:00
Scott González
500f6b4992 Tests: Switch to the new qunit-composite module
This module was created from our existing implementation.

Closes gh-1532
2015-04-07 09:03:36 -04:00
Scott González
c42a07a2e3 All: Standard spacing inside selector strings
Closes gh-1521
2015-03-26 07:47:17 -04:00
Alexander Schmitz
2d5857ca9e Draggable: Use new has/lacksClasses assertions for all class checks 2015-03-11 16:05:39 -04:00
Alexander Schmitz
c192d4086d Widget: Add classes option and _add/_remove/_toggleClass methods
Fixes #7053
Closes gh-1411
2015-03-11 16:00:04 -04:00
Mike Sherov
d8077dc562 Draggable: Ensure parent is correct after dragging through sortable
Fixes #10669
2014-11-08 20:27:05 -05:00
Mike Sherov
bfb65076e4 Draggable: Add battery of tests to cover connectToSortable
Refs #9481
Refs #9675
Closes gh-1323
2014-08-26 10:05:45 -04:00
Mike Sherov
52a1de5caa Sortable: cancelHelperRemoval only considers helper, not placeholder
Refs #9675
2014-08-26 09:52:00 -04:00
Mike Sherov
c7bec85cfa Draggable: append divs to iframe parent for iframefix
This allows the blocking div to move with the iframe in
most situations, whereas appending to the body wouldn't.

Fixes #9671
2014-08-24 07:19:38 -04:00
Mike Sherov
df7e32fe37 Draggable: Check all parents for fixed positioning when scrolling
Fixes #9612
2014-08-23 15:34:04 -04:00
Mike Sherov
95546c5d04 Draggable: No cloning in connectToSortable and ensure correct position
Draggables now forcefully recalculate their position when dragged out
of a sortable. Sortables now override draggable position when a
draggable is dragged into it. Lastly, no longer remove sortable helper
when dragging a draggable out, which allows us to not use a clone.

Fixes #7734
Fixes #8809
Closes gh-1322
2014-08-23 15:08:54 -04:00
Dave Stein
49c3fb7403 Draggable Tests: Ensure scrolling and dragging tests assert correctly 2014-08-22 17:19:09 -04:00
Mike Sherov
aa425ab95d Build: Pull in jquery.simulate.js from Bower
Fixes #10563
2014-08-22 17:01:50 -04:00
Mike Sherov
cedf91c0a9 Draggable Tests: Fix failures due to fractional widths 2014-08-20 21:10:33 -04:00
Mike Sherov
e12e3e12b1 Mouse: Only detect out of document mouseups after a mousemove
This prevents the firing of mouseup in the case of IE<9, which will
fire a mousemove event if content is placed under the cursor on
mousedown.

Fixes #7778
2014-08-20 11:19:36 -04:00
Mike Sherov
451dded230 Draggable: Ensure helper is positioned even if its the element itself
Fixes #9446
2014-08-19 15:15:21 -04:00
Uri Gilad
8eca7b8f45 Draggable: Set explicit width/height instead of right/bottom css.
Fixes #7772
2014-08-18 15:30:54 -04:00
Mike Sherov
48ea2aadad Draggable: Ensure overflow:visible containments are correctly measured
Fixes #7016
2014-08-17 14:38:05 -04:00
Mike Sherov
d10440fe44 Draggable: Only focus the draggable if the event occurs on a handle
Refs #10527
2014-08-17 14:13:20 -04:00
Mike Sherov
b5846bece3 Draggable: Recalculate hash offset on start after plugins run
Fixes #6884
2014-08-16 21:27:16 -04:00
Mike Sherov
01e26b0f53 Draggable Tests: Clarify position helper test generation 2014-08-14 21:03:18 -04:00
Mike Sherov
2d03839c07 Draggable: Account for margins when snapping
Fixes #9724
2014-08-14 09:50:02 -04:00
Mike Sherov
9acb4797fa Draggable Tests: Fix IE8 test when native scroll happens 2014-08-13 22:26:04 -04:00
Mike Sherov
bbf9ea0942 Draggable: ignore overflow:hidden containers with scroll option
While it is true that overflow:hidden elements can be scrolled
programatically, this breaks user expectation. Therefore, do not
 scroll inside an overflow:hidden container.
2014-08-12 19:30:09 -04:00
Mike Sherov
e9efbc2221 Draggable: consider offsets from overflow:hidden parents
Developers can programmatically set scrollTop/Left on
draggable containers that are overflow:hidden. They must
be considered for positioning.

Fixes #10147
2014-08-12 19:30:09 -04:00
Mike Sherov
2ac0769967 Draggable Tests: Fix several whitespace issues. 2014-08-12 19:30:09 -04:00
Mike Sherov
df2f7555b4 Draggable Tests: Fix inconsistent operator spacing. 2014-08-06 19:43:13 -04:00
Scott González
c017628e11 Tests: Fix composite tests 2014-08-01 12:25:14 -04:00