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."
Reverts 0ea342a6a6
Refs gh-2031
Refs gh-2002
Fixes gh-2493
Closes gh-2499
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.
IE 8 doesn't have indexOf on arrays. Also, one toLowerCase() was missing. Oops.
This commit is not necessary on master but has been brought here to keep
tests similar in both branches.
(cherry-picked from 1b48eef4ca)
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.
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.
Refs 2c7e9c9349
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.
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.
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.
Refs 3d7ce0a65f
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.
Closes gh-2520
Android 2.3 doesn't fire the window.onerror handler, just accept the reality
there and skip the test.
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.
Support comments that mentioned only Safari < 7 were checked & updated
to account for bugs existing in newer versions as well; Safari 6 support
test results were removed.
Refs gh-2482
Android 2.3 chokes on unquoted reserved words being used as property names
which was making Deferred tests not run.
Acknowledge the sad fact that Android 2.3 is not ES5-compliant browser
and enable the "es3" option in JSHint config.
Fixes gh-2478
Closes gh-2481