aboutsummaryrefslogtreecommitdiffstats
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
...
* Core: Fire iframe script in its context, add doc param in globalEvalMichał Gołębiowski-Owczarek2020-02-105-4/+67
| | | | | | | | | | | | | 1. Support passing custom document to jQuery.globalEval; the script will be invoked in the context of this document. 2. Fire external scripts appended to iframe contents in that iframe context; this was already supported & tested for inline scripts but not for external ones. Fixes gh-4518 Closes gh-4601 (cherry picked from commit 4592595b478be979141ce35c693dbc6b65647173)
* Build:Tests: Fix custom build tests, verify on Travis; name Travis jobsMichał Gołębiowski-Owczarek2020-01-2720-169/+248
| | | | | | | | | | | | | | | | This commit fixes unit tests for the following builds: 1. The no-deprecated build: `custom:-deprecated` 2. The current slim build: `custom:-ajax,-effects` 3. The 4.0 (#4553) slim build: `custom:-ajax,-callbacks,-deferred,-effects` It also adds separate Travis jobs for the no-deprecated & slim builds. Apart from that, add intuitive names to Travis jobs. Otherwise it's hard to see at a glance that a particular job is running on Firefox ESR, for example. Ref gh-4577 Ref gh-4596 Closes gh-4600
* Build: Make Karma work in AMD modeMichał Gołębiowski-Owczarek2020-01-216-93/+129
| | | | | | | | | | | Also, run such a suite in CI to make sure modules are working as expected when used directly. (partially cherry picked from 341c6d1b5abe4829f59fbc32e93f6a6a1afb900f) (partially cherry picked from 437f389a24a6bef213d4df507909e7e69062300b) Closes gh-4595 Ref gh-4550 Ref gh-4574
* Docs: Update links to EdgeHTML issues to go through Web ArchiveMichał Gołębiowski-Owczarek2020-01-081-22/+22
| | | | | | | | | | | | With Microsoft going Chromium with Edge, its old EdgeHTML issues were all removed. :( The commit also reformats one manipulation unit test to use tabs instead of spaces for indentation. (partially cherry-picked from 1dad1185e0b2ca2a13bf411558eda75fb2d4da88) Closes gh-4584
* Tests: Make the support tests pass on Firefox 4x/5x/60Michał Gołębiowski-Owczarek2020-01-071-1/+1
| | | | | | | The check for old Firefox versions with different support test result only checked for Firefox 52 or 60. It now checks for 4x/5x/60 to understand more versions. Closes gh-4583
* Event: Only attach events to objects that accept data - for realMichał Gołębiowski-Owczarek2019-12-091-0/+9
| | | | | | | | | | | | | There was a check in jQuery.event.add that was supposed to make it a noop for objects that don't accept data like text or comment nodes. The problem was the check was incorrect: it assumed `dataPriv.get( elem )` returns a falsy value for an `elem` that doesn't accept data but that's not the case - we get an empty object then. The check was changed to use `acceptData` directly. (cherry picked from d5c505e35d8c74ce8e9d99731a1a7eab0e0d911c) Fixes gh-4397 Closes gh-4558
* Tests: Skip a "width/height on a table row with phantom borders" test in FirefoxMichał Gołębiowski-Owczarek2019-10-281-1/+8
| | | | | | | | | Firefox 70 & newer fail this test but the issue there is more profound - Firefox doesn't subtract borders from table row computed widths. Closes gh-4537 Ref jquery/jquery#4529 Ref https://bugzilla.mozilla.org/show_bug.cgi?id=1590837 Ref w3c/csswg-drafts#4444
* Tests: Don't test synchronous XHR on unload in ChromeMichał Gołębiowski-Owczarek2019-10-281-8/+13
| | | | | | | Chrome 78 dropped support for synchronous XHR requests inside of beforeunload, unload, pagehide, and visibilitychange event handlers. See https://bugs.chromium.org/p/chromium/issues/detail?id=952452 Closes gh-4536
* CSS: Workaround buggy getComputedStyle on table rows in IE/EdgeMichał Gołębiowski-Owczarek2019-10-142-0/+33
| | | | Fixes gh-4490 Closes gh-4503
* Core: Deprecate jQuery.trimShashanka Nataraj2019-09-263-24/+23
| | | | | | | Fixes gh-4363 Closes gh-4461 (cherry picked from 5ea5946094784f68437ef26d463dfcfbbbaff1f6)
* Core: Use Array.prototype.flat where supportedAhmed.S.ElAfifi2019-09-251-1/+19
| | | | | | | | | | | | | Calling `Array.prototype.concat.apply( [], inputArray )` to flatten `inputArray` crashes for large arrays; using `Array.prototype.flat` avoids these issues in browsers that support it. In case it's necessary to support these large arrays even in older browsers, a polyfill for `Array.prototype.flat` can be loaded. This is already being done by many applications. (cherry picked from 9df4f1de12728b44a4b0f91748f12421008d9079) Fixes gh-4320 Closes gh-4459
* Core: Implement .even() & .odd() to replace POS :even & :oddMichał Gołębiowski-Owczarek2019-09-241-0/+12
| | | | | | | | | `:even` & `:odd` are deprecated since jQuery 3.4.0 & will be removed in 4.0.0. The new `even()` & `odd()` methods will make the migration easier. Closes gh-4485 (cherry picked from commit 78420d427cf3734d9264405fcbe08b76be182a95)
* Tests: Fix offset fractions tests in Chrome for AndroidMichał Gołębiowski-Owczarek2019-09-241-1/+1
| | | | | | This commit backports a looser assertion from `master` where the browsers passes offset tests. Closes gh-4470
* Tests: Move Android user agent detection above iOS, put Safari lastMichał Gołębiowski-Owczarek2019-09-241-4/+4
| | | | | | Android was catching the generic iOS regex. Checking for Android first should eliminate that issue as iOS user agents don't contain the word "Android". Putting Safari last makes Android UAs not be tested against it.
* Tests: Make support tests accept Safari 13 & newerMichał Gołębiowski-Owczarek2019-09-231-5/+5
| | | | | | | | The regexes detecting browsers with their versions have been updated for iOS and Safari so that all iOS >=11 & all Safari (desktop) >= 11 are recognized. This is required to make Safari 13 & iOS 13 pass support tests but it'll also make tests forward-compatible with future Safari/iOS versions. Closes gh-4488
* Selector: Make selector-native's isXMLDoc recognize HTML-embedded SVGMichał Gołębiowski-Owczarek2019-07-291-8/+46
| | | | | | | | | | This commit also backports some jQuery.isXMLDoc tests from master so that this behavior doesn't regress. (partially cherry-picked from 79b74e043a4ee737d44a95094ff1184e40bd5b16) Closes gh-4438 Ref jquery/sizzle#378 Ref jquery/sizzle#436
* Traversing: Fix `contents()` on `<object>`s with childrenPat O'Callaghan2019-05-061-0/+13
| | | | | | | (cherry-picked from 4d865d96aa5aae91823c50020b5c19da79566811) Fixes gh-4384 Closes gh-4385
* Core: Make isAttached work with iOS 10.0-10.2Michał Gołębiowski-Owczarek2019-04-292-4/+15
| | | | | | | | | | | The test for Shadow DOM v1 support has been changed to rely on the presence of `documentElement.getRootNode` as iOS 10.0-10.2 supports `attachShadow` but doesn't support `getRootNode`. No new test is necessary - iOS 10.0 fails lots of our test suite because of this bug. Fixes gh-4356 Closes gh-4360
* Event: Fix handling of multiple async focus eventsRichard Gibson2019-04-291-0/+43
| | | | Fixes gh-4350 Closes gh-4354
* Tests: Make Android Browser 4.0-4.3 dimensions tests greenMichał Gołębiowski-Owczarek2019-03-271-2/+16
| | | | | | | | | | Android Browser disregards td's box-sizing, treating it like it was content-box. Unlike in IE, offsetHeight shares the same issue so there's no easy way to workaround the issue without incurring high size penalty. Let's at least check we get the size as the browser sees it. Also, fix the nearby support comment syntax. Closes gh-4335
* Tests: Make Android Browser 4.0-4.3 AJAX tests greenMichał Gołębiowski-Owczarek2019-03-271-1/+9
| | | | | | | Android Browser versions provided by BrowserStack fail the "prototype collision (constructor)" test while locally fired emulators don't, even when they connect to TestSwarm. Just skip the test there to avoid a red build. Closes gh-4334
* Core: Preserve CSP nonce on scripts with src attribute in DOM manipulationbuddh42019-03-253-0/+41
| | | | | Fixes gh-4323 Closes gh-4328
* Event: Prevent leverageNative from double-firing focusinRichard Gibson2019-03-251-5/+1
| | | | | | Also, reduce size. Closes gh-4329 Ref gh-4279
* Core: Prevent Object.prototype pollution for $.extend( true, ... )Michał Gołębiowski-Owczarek2019-03-251-0/+7
| | | Closes gh-4333
* Event: Leverage native events for focus/blur/click; propagate additional dataRichard Gibson2019-03-201-30/+133
| | | | | | | | | | | | | | | | | | | | | Summary of the changes/fixes: 1. Trigger checkbox and radio click events identically (cherry-picked from b442abacbb8464f0165059e8da734e3143d0721f that was reverted before). 2. Manually trigger a native event before checkbox/radio handlers. 3. Add test coverage for triggering namespaced native-backed events. 4. Propagate extra parameters passed when triggering the click event to the handlers. 5. Intercept and preserve namespaced native-backed events. 6. Leverage native events for focus and blur. 7. Accept that focusin handlers may fire more than once for now. Fixes gh-1741 Fixes gh-3423 Fixes gh-3751 Fixes gh-4139 Closes gh-4279 Ref gh-1367 Ref gh-3494
* CSS: Avoid forcing a reflow in width/height getters unless necessaryMichał Gołębiowski-Owczarek2019-03-181-8/+8
| | | | | | | | Fixes gh-4322 Closes gh-4325 Ref gh-3991 Ref gh-4010 Ref gh-4185 Ref gh-4187
* Build: Run the basic test suite in jsdomMichał Gołębiowski-Owczarek2019-03-113-2/+47
| | | | | | The basic test suite is now run in jsdom on all supported Node.js versions (8, 10 & 11 as of now). Closes gh-4310
* Build: Remove manual QUnit fixture resettingMichał Gołębiowski-Owczarek2019-03-111-2/+0
| | | | | | It was needed when QUnit 1.x one used but we've since upgraded to QUnit 2.x. Closes gh-4312 Ref gh-4307
* Build: Update QUnit from 1.23.1 to 2.9.2Michał Gołębiowski-Owczarek2019-03-048-15/+17
| | | Closes gh-4307
* Build: Update jsdom; migrate a test with Symbol polyfill to an iframe testMichał Gołębiowski-Owczarek2019-03-0413-113/+143
| | | | | | | | | | | So far, we've been testing that jQuery element iteration works with polyfilled Symbol & transpiled for-of via a Node test with jsdom with the Symbol global removed. Unfortunately, jsdom now requires Symbol to be present for its internal functionality so such a test is no longer possible. Instead, it's been migrated to an iframe test with transpiled JavaScript. This PR also enables us to use ECMAScript 2017 or newer in Node.js code. Closes gh-4305
* Build: Remove obsolete globals from ESLint configurationMichał Gołębiowski-Owczarek2019-02-191-7/+0
| | | | | We had quite a few obsolete globals declared in various ESLint config files. We also no longer allow to rely on the `noGlobal` & `jQuery` globals in the built file which is not needed. Closes gh-4301
* Build: Update test code for compatibility with QUnit 2.x (#4297)abnud12019-02-1833-200/+276
| | | | | | | | Also, run `grunt npmcopy` to sync the "external" directory with dependencies from package.json. For example, the Sinon library version didn't match. Ref gh-4234 Closes gh-4297
* Core: Support passing nonce through jQuery.globalEvalMichał Gołębiowski-Owczarek2019-01-215-2/+46
| | | | | | Fixes gh-4278 Closes gh-4280 Ref gh-3541 Ref gh-4269
* Manipulation: Respect script nomodule attribute in DOM manipulationMichał Gołębiowski-Owczarek2019-01-213-1/+33
| | | | | | | | | | | | | PR #3869 added support for `<script type="module">` & some support for the `nomodule` attribute but with no tests for `nomodule` and with the attribute only respected on inline scripts. This commit adds support for source-based scripts as well. It also adds tests for `nomodule`, including making sure legacy browsers execute such scripts as they'd natively do - that's the whole point of `nomodule` scripts, after all. Fixes gh-4281 Closes gh-4282 Ref gh-3871 Ref gh-3869
* Tests: Skip nonce tests in old iOS/Android as wellMichał Gołębiowski-Owczarek2019-01-141-2/+5
| | | | | | | | | | Old iOS & Android Browser versions support script-src but not nonce, making the nonce test impossible to run. Browsers not supporting CSP at all are not a problem as they'll skip script-src restrictions completely. Ref gh-3541 Ref gh-4269 Ref c7c2855ed13f23322c4064407c1ed84561b95738
* Core: Preserve CSP nonce on scripts in DOM manipulationMichał Gołębiowski-Owczarek2019-01-146-1/+58
| | | | Fixes gh-3541 Closes gh-4269
* Tests: Exclude Android 4.x from repeated header names testMichał Gołębiowski-Owczarek2018-12-141-1/+11
| | | | | | | | Android Browser only returns the last value for each header so there's no way for jQuery get all parts. Closes gh-4259 Ref gh-3403 Ref gh-4173
* Manipulation: Only evaluate HTTP-successful script srcRichard Gibson2018-12-121-0/+17
| | | | | Fixes gh-4126 Closes gh-4243
* Tests: fix dimensions tests in testswarmTimmy Willison2018-12-031-1/+5
| | | Close gh-4248
* Dimensions: fall back to offsetWidth/Height for border-box in IETimmy Willison2018-11-272-5/+31
| | | | | | | | - Use getClientRects() to explicitly detect hidden/disconnected elements Close gh-4223 Fixes gh-4102
* Tests: fix ajax test failure; add to header instead of replaceTimmy Willison2018-11-261-1/+1
|
* Ajax: Fix getResponseHeader(key) for IE11Andrei Fangli2018-11-263-2/+11
| | | | | | | | | | | - getResponseHeader(key) combines all header values for the provided key into a single result where values are concatenated by ', '. This does not happen for IE11 since multiple values for the same header are returned on separate lines. This makes the function only return the last value of the header for IE11. - Updated ajax headers test to better cover Object.prototype collisions Close gh-4173 Fixes gh-3403
* Tests: Add Safari 12 & iOS 12 resultsMichał Gołębiowski-Owczarek2018-11-121-6/+6
|
* Tests: Move latest Firefox before Firefox 60 test resultsMichał Gołębiowski-Owczarek2018-11-121-4/+4
|
* Core: Recognize Shadow DOM in attachment checksSaptak Sengupta2018-11-092-0/+112
| | | | | | | Allow `isAttached` to check Shadow DOM for attachment. Fixes gh-3504 Closes gh-3996 Ref gh-3977
* CSS: Don't read styles.position in the width/height cssHook unless necessaryMichał Gołębiowski-Owczarek2018-10-081-1/+1
| | | | | | | | | | | | Current width/height cssHook reads the computed position style even if not necessary as the browser passes the scrollboxSize support test. That has been changed. This commit also makes the scrollboxSize support test in line with all others (i.e. only return true or false) and changes the variable name in the hook to make the code clearer. Fixes gh-4185 Closes gh-4187
* Tests: Add tests for not auto-appending "px" to CSS Grid propertiesMichał Gołębiowski-Owczarek2018-10-031-0/+50
| | | | | Ref gh-4007 Ref gh-4028 Closes gh-4165
* Tests: Allow Karma to load unminfied sourceRichard Gibson2018-09-073-39/+75
| | | Closes gh-4128
* Tests: use width style instead of SVG width attribute (#4157)Jason Bedard2018-08-201-3/+3
| | | | | The SVG width attribute seems to not support border-box in iOS7. Closes gh-4155
* Tests: Account for the iPad with iOS 11.3 user agentMichał Gołębiowski-Owczarek2018-08-011-1/+1
| | | | | | The user agent of the iPad with iOS 11.3 on BrowserStack is missing the "iPhone" part in the "iPhone OS 11_3" part. This commit makes the iOS regex accept such (probably?) malformed UAs.