While we can reply on parsers that were designed to cope with
malformed syntax to understand what we mean, we shouldn't
intentionally provide bad markup, not all parsers will accept
it.
"Be conservative in what you do, be liberal in what you accept
from others."
(cherry-picked from 99e8ff1baa)
Reverts 0ea342a6a6
Refs gh-2031
Refs gh-2002
Fixes gh-2493
Closes gh-2499
All other cases where Edge user agent needed to be taken into account
in tests have already been resolved.
(cherry-picked from 64fd7ef3d0)
Fixes gh-2357
IE 8 gets the expando removed via removeAttribute so the second assertion
won't be reached. The expected assertion count had to be updated.
Fixes gh-2596
.travis.yml used single quotes which is inconsistent with what we use in most
other files. Also, the file was missing an empty line at the end.
(cherry-picked from 06320c88af)
Node.js & io.js have merged, there will be no more major io.js releases.
Also, as of today io.js is officially unsupported (even if it still gets some
updates) while Node.js 4.0.0 (just released!) will be supported until 2018.
(cherry-picked from 250a1990ba)
IE 8 prints tag names in upper case which was breaking some tests.
This commit is not necessary on master but has been brought here to keep
tests similar in both branches.
(cherry-picked from 5914b10362)
When loading basic tests don't load any others to not overload Android 2.3.
The drawback is that most tests are not selectable in the module dropdown
when the basic module is seelcted.
(cherry-picked from 855b0c8c28)
Refs 2c7e9c9349
Commit 2c7e9c9 added the basic test suite; these are the only tests that
are now run on Android 2.3 on master. On compat we're keeping full Android 2.3
support for now but the tests and the testswarm basic run mode have been
cherry-picked anyway to reduce the divergence between branches.
(cherry-picked from 2c7e9c9349)
Fixes gh-2505
Closes gh-2509
Refs gh-2483
jsdom 3 requires Python & Visual Studio on Windows which is a significant
barrier to contributors. Newer jsdom versions don't require pre-compiling
but work only on io.js. This commit installs the new jsdom everywhere (it
does install in old Node.js, it just won't work) and executes Node-related
tests only on newer Nodes or if a working jsdom version is installed. The
latter can be achieved by running the `old_jsdom` task.
Node.js is merging with io.js soon so this will become a smaller problem over
time.
One drawback is our Jenkins setup runs on Node 0.10 so it won't be running
Node tests anymore. We have Travis set up on io.js, though so all PRs
have those tests run. When the new LTS Node.js arrives (as it soon merges
with io.js) we should update our Jenkins infrastructure so that it runs on this
new version.
(cherry-picked from dbb2daa8c3)
Fixes gh-2519
Closes gh-2526
The AJAX test performed in unreleasedXHR.html was scheduling PHP processes
sleeping for 10 minutes. When a lot of commits are tested in short intervals
this was causing build failures due to the drained php-fpm pool.
The 10 seconds sleep time should be enough for this test.
(cherry-picked from 02e10082b2)
Refs 62acda819f
jQuery.type doesn't just return "null" for null but also e.g. "array"
for arrays instead of object so it's not really a typeof analogue.
My suggestion was stupid. Sorry.
(cherry-picked from 14c0fe4432)
Refs 3d7ce0a65f
Attaching test divs to document.documentElement instead of document.body
used to cause issues in jQuery 1.x; jQuery Compat doesn't execute any tests
on document ready, though so it could be aligned with master.
This makes jQuery Compat support tests work correctly even if jQuery is
included & used in head before body even exists - making it similar to
the master behavior.
Fixes gh-2502
It might not be obvious to everyone that IE 9 & Android 4.0 are not
ES5-compliant browsers (by a large margin) so it's better to add a support
comment. This requires slight changes in parsing the config file
as it's not a pure JSON anymore. JSHint understands such files without
problems.
(cherry-picked from 669cb16d76)
Closes gh-2520
Android 2.3 doesn't fire the window.onerror handler, just accept the reality
there and skip the test.
(cherry-picked from 6044fb6a73)
Refs gh-1573
Refs gh-1786
Refs jquery/jquery.com#108
Closes gh-2458
Custom mouseenter/mouseleave implementation was needed because of:
1. Safari 6 not implementing mouseenter/mouseleave at all.
2. Chrome sending mouseenter too often.
The second issue has been fixed in Chrome but exists now in Safari 7
(it's fixed in Safari 8) so we have to keep it for now, unfortunately.
(cherry-picked from 2792845534)