Major Ajax Test Suite Overhaul Landed
Hey Everyone -
I just landed a major overhaul of the Ajax test suite. Here's the description:
Complete overhaul of the Ajax test suite, it's now passing in all
browsers. In order to achieve this I had to fix a number of bugs in
the suite itself, along with other random bugs that popped up. The
following bugs were resolved along the way: #1236 (.extend() keeps
processing when it hits nulls), #1028 (.extend() now works
recursively), #1080 ($.get no longer overwrites the data parameter),
#1210 (Creating script and link tags now work), and #1463
(jQuery.global has been re-tooled to no longer leak memory and slow
things down).
Changeset:
http://dev.jquery.com/changeset/2783
Fixed tickets:
http://dev.jquery.com/ticket/1236
http://dev.jquery.com/ticket/1028
http://dev.jquery.com/ticket/1080
http://dev.jquery.com/ticket/1210
http://dev.jquery.com/ticket/1463
I also completely changed how the test suite behaves in some respects.
1) I've completely disabled timeouts - in doing so, a bunch of
shortcomings in the tests were discovered (revealing cases where tests
would randomly fail in browsers). The suite is much much more stable
now (albeit, it runs slightly slower).
2) I ported a bunch of the Ajax tests from their existing PHP files to
static files, allowing users to run the tests without a web server. I
then added a conditional to only run these tests when you're on a
sever.
This is really important because now ALL tests pass in the major
browsers that we support. Well, to a degree - Safari 3 is now randomly
crashing, but the tests are passing (*sigh*). Let's hope that'll get
ironed out in a Safari update. In the meantime, the Ajax tests are
disabled in Safari. But in the meantime it's passing completely,
without any weirdness, in Firefox, IE, and Opera.
I was going to release 1.1.4 tonight, but I want everyone to play with
the code and make sure that I didn't break anything with this big
landing. So, please, let me know.
--John