Commit Graph

5040 Commits

Author SHA1 Message Date
Timo Tijhof
36c9ecb0f5 Implement expectation test instead of using _removeData. Close gh-997.
* Removed inline usage of QUnit.reset() because it is messing with the
  expectation model as reset does .empty() which does a recursive cleanData
  on everything in #qunit-fixture, so any expectJqData above .reset() would
  fail negatively.

  Instead of calling reset inline, either updated the following assertions to
  take previous assertions' state into account, or broke the test() up into
  2 tests at the point where it would call QUnit.reset.

* After introducing the new memory leak discovery a whole bunch of tests were
  failing as they didn't clean up everything. However I didn't (yet) add
  QUnit.expectJqData calls all over the place because in most if not all of
  these cases it is valid data storage. For example in test "data()", there
  will be an internal data key for "parsedAttrs". This particular test isn't
  intending to test for memory leaks, so therefor I made the new discovery
  system only push failures when the test contains at least 1 call to
  QUnit.expectJqData.

  When not, we'll assume that whatever data is being stored is acceptable
  because the relevant elements still exist in the DOM anyway (QUnit.reset
  will remove the elements and clean up the data automatically).

  I did add a "Always check jQuery.data" mode in the test suite that will
  trigger it everywhere. Maybe one day we'll include a call to everywhere,
  but for now I'm keeping the status quo: Only consider data left in storage
  to be a problem if the test says so ("opt-in").

* Had to move #fx-tests inside the fixture because ".remove()" test would
  otherwise remove stuff permanently and cause random other tests to fail
  as "#hide div" would yield an empty collection.
  (Why wasn't this in the fixture in the first place?)

  As a result moving fx-tests into the fixture a whole bunch of tests failed
  that relied on arbitrary stuff about the document-wide or fixture-wide
  state (e.g. number of divs etc.). So I had to adjust various tests to
  limit their sample data to not be so variable and unlimited...

* Moved out tests for expando cleanup into a separate test.

* Fixed implied global variable 'pass' in effects.js that was causing
  "TypeError: boolean is not a function" in *UNRELATED* dimensions.js that
  uses a global variable "pass = function () {};" ...

* Removed spurious calls to _removeData. The new test exposed various failures
  e.g. where div[0] isn't being assigned any data anyway.
  (queue.js and attributes.js toggleClass).

* Removed spurious clean up at the bottom of test() functions that are
  already covered by the teardown (calling QUnit.reset or removeClass to
  supposedly undo any changes).

* Documented the parentheses-less magic line in toggleClass. It appeared that
  it would always keep the current class name if there was any (since the
  assignment started with "this.className || ...".

  Adding parentheses + spacing is 8 bytes (though only 1 in gzip apparently).
  Only added the comment for now, though I prefer clarity with logical
  operators, I'd rather not face the yayMinPD[1] in this test-related commit.

* Updated QUnit urlConfig to the new format (raw string is deprecated).

* Clean up odd htmlentities in test titles, QUnit escapes this.
  (^\s+test\(.*)(&gt\;) → $1>
  (^\s+test\(.*)(&lt\;) → $1<

[1] jQuery MinJsGz Release Police Department (do the same, download less)
2012-10-28 22:44:57 -04:00
David Fox
8121309694 Fixes #12139, make sure absolutely positioned elements have HTML as offsetParent, closes gh-1010 2012-10-26 12:40:57 -04:00
Oleg
18e7a53d15 Elements created from html strings have a parentnode. Fixes #12392 2012-10-25 20:41:47 -04:00
Rick Waldron
4f0e1e7c65 Simplify tests for #12786, reduce to only those required to support the fix 2012-10-25 10:50:57 -04:00
Rick Waldron
63d72536ba Less deep and more strict. 2012-10-25 10:32:30 -04:00
Daniel Gálvez
b398a68333 Fix #11542. document.body should not be special in .offset() and document.documentElement is the default element.offsetParent. Close gh-899. 2012-10-24 23:35:15 -04:00
Dave Methvin
69e2f068fe Fix #9469. Remove semi-functional .selector property. Close gh-1006.
Saved 65 bytes.
2012-10-24 22:36:20 -04:00
Dave Methvin
305e169ad6 Add new authors and sort in commit order. 2012-10-24 22:25:47 -04:00
Rick Waldron
a7158fac17 Remove .hyphen property from tests (left behind in refactoring) 2012-10-24 16:47:40 -04:00
Rick Waldron
812c6087ad Brute force property removal when removeData([a,b,c]). Fixes #12786
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2012-10-24 14:12:28 -04:00
Timmy Willison
2eff7fe72d Sizzle: remove unneeded vars and POS regex (-22 bytes) 2012-10-24 10:35:08 -04:00
Dave Methvin
5dc37bb0b5 Update authors. 2012-10-23 20:38:42 -04:00
Mike Sherov
53b770e1fd Add More New Contributors to AUTHORS.txt 2012-10-23 19:21:49 -04:00
Mike Sherov
bede0123d9 new JSHINT mixed spaces/tabs is smart enough to not warn on multiline comments, rendering smarttabs useless 2012-10-22 13:29:43 -04:00
Matthias Jäggli
227c49a459 Fix #12411, .removeClass(undefined) is a chaining no-op. Close gh-913.
.removeClass() //removes all classes, as documented
.removeClass(window.nonExistentVariable) // removes nothing
2012-10-21 21:06:41 -04:00
Mike Sherov
23d125a51a updated AUTHORS 2012-10-21 20:55:26 -04:00
Dave Methvin
d0015ecd2f Missing semicolon. 2012-10-21 20:19:51 -04:00
Oleg
696c553053 Fix failing tests for beforeunload in Safari 5.0. Close gh-1002. 2012-10-21 20:14:05 -04:00
Mike Sherov
2decd0510d Remove references to the Makefile from the README 2012-10-21 09:31:37 -03:00
Oleg
9dd0b01017 Fix #12061. Avoid window.onbeforeunload to permit multiple handlers. Close gh-894. 2012-10-20 22:29:18 -04:00
Dave Methvin
08341437e0 Remove deprecated $.uuid and dunseled $.deletedIds. 2012-10-20 22:18:29 -04:00
Marcel Greter
de9ff7cd17 Fix #12107. Let .proxy() curry args without overwriting context. Close gh-866. 2012-10-20 22:10:06 -04:00
Oleg Gaidarenko
cafb542da9 Alternate fix for #11426; check responseText. Close gh-843. 2012-10-20 21:25:39 -04:00
Rick Waldron
8076a33bd8 Don't expose jQuery.deletedIds. Close gh-889. 2012-10-20 21:02:21 -04:00
Sai Wong
2b0e720406 Fix #12048. Set attributes for XML fragments. Close gh-965. 2012-10-20 15:27:43 -04:00
Jonathan Sampson
144b8bfead Fix attribute names in aliased form property test. Close gh-951.
Test expects input elements having name='id', name='name', and name='target'. Additionally, these should have id='id', id='name', and id='target' respectively. No element was provided with id='id' or name='id', but rather one element had two name attributes (illegal) with the values 'id' and 'name' respectively.
2012-10-20 14:58:19 -04:00
Merrifield, Jay
408e5e08c2 Fixes #12518, removes an offsetWidth on focus/blur events for an <IE9 bug that caused a performance hit. Closes gh-958 2012-10-20 14:00:30 -04:00
Mike Sherov
a7a8aad4e3 adding awesome new contributors to AUTHORS.txt 2012-10-20 13:46:11 -04:00
Sai Wong
5228f0a618 Fix #12610, remove unneeded window.event. Close gh-968. 2012-10-20 10:07:01 -04:00
Richard Gibson
b5084b4bf2 Fix #4262: faster .eq(), closes gh-1000. 2012-10-19 22:32:25 -04:00
Dave Methvin
32051e97c1 Combine parseJSON tests and fix style.
We only care about the result of parseJSON so there's no reason to feature detect the entire test.
2012-10-19 21:59:45 -04:00
Dave Methvin
3144163f61 Followup for #12751, only test on browsers with JSON.parse 2012-10-19 17:18:33 -04:00
Allen J Schmidt Jr
c6cf30a56e Fix #12739. Keep namespace when triggering with an Event. Close gh-972. 2012-10-19 16:42:13 -04:00
Julian Aubourg
b386080798 Merge pull request #998 from jquery/strict 2012-10-19 01:13:41 -07:00
jaubourg
739ba96318 @mikesherov says strict is redundant when node is already there 2012-10-19 10:09:52 +02:00
jaubourg
9346c0ef99 adds strict rule to jshint options (except for test files). "use strict" is added to the main jQuery closure and some "could-be-unsafe" this trickery in effects is silenced. 2012-10-18 00:50:01 -04:00
James Huston
ee9687d441 Fix #12751. Ensure parseJson throws in the same situations as JSON.parse. Close gh-993. 2012-10-17 16:28:55 -04:00
Richard Gibson
c31539c8a2 no ticket: fix jQuery suite failure on Android 2012-10-17 15:20:50 -04:00
Merrifield, Jay
063ea024e9 Fixes #12569. Improve Feature Detect For oldIE bubbling. closes gh-967 2012-10-17 15:02:31 -04:00
Mike Sherov
fad0e22181 fix failing offset tests 2012-10-17 14:52:16 -04:00
Rick Waldron
a15147199e Update grunt-compare-size to 0.2.0 2012-10-17 13:47:47 -04:00
Merrifield, Jay
425272aea1 Fixes #12749, correctly detect position() for position:fixed elements, closes gh-991 2012-10-17 13:41:49 -04:00
Roland Eckl
995f816cf4 Fixes #12752: Added OS-switch for grunt task "custom", to make use of grunt.cmd on Windows operating systems. closes gh-996 2012-10-17 12:59:43 -04:00
Mike Sherov
16d996ba0c no ticket: remove and enforce unused vars in jshint 2012-10-17 12:52:12 -04:00
Rick Waldron
3bfd158784 Don't be so picky about path separators 2012-10-17 12:50:23 -04:00
Timmy Willison
7607068faa Update Sizzle: fixes failing tests in traversing (FF, Opera, Safari) 2012-10-17 11:13:26 -04:00
Erick Ruiz de Chavez
d1ad6c7eb5 Style nit in test/unit/callbacks.js. Closes gh-992 2012-10-16 17:25:20 -04:00
Tom Fuertes
e03d999939 Update README.md - grunt *update_*submodules 2012-10-16 17:19:36 -04:00
Sai Wong
0c1cea3761 Refactored before/after/replaceWith to not pushStack. Fixes #12664, closes gh-987 2012-10-16 16:50:40 -04:00
Timmy Willison
51feba6119 Update package.json for update submodules 2012-10-16 16:45:56 -04:00