Commit Graph

293 Commits

Author SHA1 Message Date
Dave Methvin
e57057739b Merge pull request #445 from rwldrn/9897
Fixes #9897. Wrap obj.constructor test in try/catch to avoid problems with host objects. Thanks to bkrausz.
2011-08-25 12:25:58 -07:00
Dave Methvin
a839af034d Merge pull request #465 from anton-ryzhov/master
Fixes #10076. $.inArray crashes IE6 and Chrome if second argument is `null` or `undefined` (Thanks anton-ryzhov!)
2011-08-25 12:22:47 -07:00
Dave Methvin
749dbad981 Prioritize #id over <tag> to avoid XSS via location.hash (#9521) 2011-08-23 08:25:11 -04:00
dmethvin
1a738cb72f Landing pull request 463. Fixes #9572. Don't camelize the -ms- prefix because Microsoft didn't. A Fixes #9572.
More Details:
 - https://github.com/jquery/jquery/pull/463
 - http://bugs.jquery.com/ticket/9572
2011-08-17 17:34:09 -04:00
Anton Ryzhov
190136cf61 Unit test for this case
Codestyle fixes
2011-08-17 18:56:21 +04:00
Rick Waldron
ad16db370e Wrap obj.constructor test in try/catch. Thanks to bkrausz. Fixes #9897 2011-07-25 17:06:38 -04:00
jaubourg
27291ff06d Fixes #9255: xml parsing error in $.parseXML is now properly detected for all browsers. Unit test added. 2011-07-23 03:26:36 +02:00
rwldrn
408c98fb4b Landing pull request 383. Relocating jQuery.camelCase to core; Fixes #9368.
More Details:
 - https://github.com/jquery/jquery/pull/383
 - http://bugs.jquery.com/ticket/9368
2011-05-25 15:10:49 -04:00
John Resig
6c449fd5df Make sure that empty nodelists continue to map properly. Fixes #8993. 2011-05-02 13:25:53 -04:00
John Resig
86aa764f0b Change check for skipping the initial quickExpr RegExp check. Fixes #8984. 2011-05-02 13:14:13 -04:00
John Resig
15da298f72 Remove unnecessary usage of Function.prototype.bind (#7783) but maintain API. Also fix bug with proxy failing when a name is provided. Fixes #8893. 2011-04-17 18:17:31 -04:00
timmywil
ecf6a3c383 Switch QUnit div from depreceted #main to #qunit-fixture 2011-04-17 02:43:57 -04:00
jrburke
0b1c2e642a Add support for registering jQuery as an AMD module. Only does so if the AMD loader indicates it has special allowances for multiple versions of jQuery being loaded in a page. 2011-04-16 20:35:18 -07:00
louisremi
a5604aedb7 merge with master and resolve more conflicts 2011-04-12 11:29:25 +02:00
jeresig
31b3c44db3 Merge branch 'bug_4366' of https://github.com/jboesch/jquery into jboesch-bug_4366 2011-04-12 00:12:27 -04:00
louisremi
11adde5127 second batch 2011-04-11 22:33:29 +02:00
jeresig
14ecd9a992 Merge branch 'proxy-native-bind' of https://github.com/gf3/jquery into gf3-proxy-native-bind 2011-04-10 16:51:22 -04:00
jeresig
247363b9a7 Merge branch 'map-object.1.6' of https://github.com/danheberden/jquery into danheberden-map-object.1.6 2011-04-10 16:46:14 -04:00
jaubourg
f3c6077da0 Rewrite of globalEval. Uses window.execScript or window.eval with a trick to ensure proper context. Unit tests added. 2011-04-07 06:47:15 +02:00
carpie
e0856738e6 Skip id regex check when large html strings are passed to the jQuery constructor (#7990). 2011-04-05 23:18:35 -04:00
Dave Methvin
1e85027dee Merge branch '4321' of https://github.com/rwldrn/jquery into rwldrn-4321 2011-04-05 22:04:05 -04:00
Dan Heberden
c72371f714 Improve speed of $.map with object support (-5% previous speed) and improve .length detection 2011-04-04 23:59:54 -07:00
Jordan Boesch
3296116041 Bug 4366; fixing $.each(document.styleSheets) from throwing errors in IE 2011-03-30 11:17:48 -06:00
Dan Heberden
d832f4f71e jQuery.map to iterate over objects with a .length property 2011-03-21 12:12:31 -07:00
Dan Heberden
f0e7d28e83 Merge branch 'bug_2616' of https://github.com/jboesch/jquery into map-object.1.6
* 'bug_2616' of https://github.com/jboesch/jquery:
  Bug 2616; Adding object support to jQuery.map
2011-03-21 08:04:35 -07:00
jaubourg
2d0bc7ce72 Moves Deferred-related code into a separate module. Context handling has been simplified in _Deferred.resolve and jQuery.when has been refactored for clarity (and minor optimization). 2011-03-03 19:38:06 +01:00
jaubourg
c1279895f3 Fix for #8421. Makes sure resolveWith can be called with only one parameter. 2011-03-03 15:16:47 +01:00
Jordan Boesch
c8a887af06 Bug 2616; Adding object support to jQuery.map 2011-02-27 12:47:35 -06:00
jaubourg
a43a5ca9cf Revert "Adds an invert method to promises that returns a "inverted" promise that is resolved when the underlying deferred is rejected and rejected when the underlying deferred is resolved."
This reverts commit 4e97543051.
2011-02-18 18:06:26 +01:00
Anton M
8e40a84c24 Fix some unscoped tests which failed after recent changes to QUnit. 2011-02-15 21:03:34 +01:00
jaubourg
4e97543051 Adds an invert method to promises that returns a "inverted" promise that is resolved when the underlying deferred is rejected and rejected when the underlying deferred is resolved. 2011-01-31 14:49:14 +01:00
jeresig
749d41f7de Rename jQuery.subclass() to jQuery.sub(). 2011-01-31 08:21:42 -05:00
Digitalxero
e00f74c43b Make sure subclass is a proper subclass not just subclassing the fn methods. Fixes #7979. 2011-01-27 13:35:06 -05:00
Gianni Chiappetta
574ae3b1be added: Backcompatibility with old proxy syntax. 2011-01-21 10:33:50 -05:00
Gianni Chiappetta
a03f040dbf Merge branch 'master' into proxy-native-bind
* master: (194 commits)
  Revert "Make sure that focusin/focusout bubbles in non-IE browsers." This was causing problems with the focusin event, see: #7340.
  Replaces "text in-between" technique with a full-fledged one-level transitive search for converters (unit tests added). Also cleans up auto dataType determination and adds converter checks in order to guess the best dataType possible.
  Moves determineResponse logic into main ajax callback. Puts responseXXX fields definitions into ajaxSettings.
  Removes misleading comment.
  Bring jQuery('#id') and jQuery('body') logic back into core (while leaving it in Sizzle at the same time). Was causing too much of a performance hit to leave it all to Sizzle.
  Renames Deferred's fire and fireReject methods as resolveWith and rejectWith respectively.
  Fix typo in regex tweak from previous commit.
  Renames determineDataType as determineResponse. Makes it more generic as a first step into integrating the logic into the main ajax done callback. Also fixes some comments in ajax/xhr.js.
  Move jQuery(...) selector speed-up logic into Sizzle(...) qSA handling. Additionally add in a new catch for Sizzle('.class') (avoid using qSA and use getElementsByClassName instead, where applicable).
  Revises the way arguments are handled in ajax.
  Makes sure statusCode callbacks are ordered in the same way success and error callbacks are. Unit tests added.
  Cleans up and simplifies code shared by ajaxPrefilter and ajaxTransport. Removes chainability of ajaxSetup, ajaxPrefilter and ajaxTransport. Also makes sure context is handled properly by ajaxSetup (unit test added).
  Rework unit tests to check actual result elements.
  Moves active counter test after all other ajax tests where it should be.
  Revised the Nokia support fallback. It turns out that Nokia supports the documentElement property but does not define document.compatMode. Adding this third fallback allows Nokia to run jQuery error-free and return proper values for window width and height.
  Moves things around to make jsLint happier.
  Fixes crossDomain test so that it assumes port to be 80 for http and 443 for https when it is not provided.
  Moves determineDataType into ajaxSettings so that it is accessible to transports without the need for a second argument and so that we can now pass the original options to the transport instead. Also ensures the original options are actually propagated to prefilters (they were not).
  Re-adds hastily removed variable and simplifies statusCode based callbacks handling.
  Use undefined instead of 0 to deference transport for clarity.
  ...

Conflicts:
	src/event.js
2011-01-21 09:58:55 -05:00
jaubourg
a7cb93bee5 Renames Deferred's fire and fireReject methods as resolveWith and rejectWith respectively. 2011-01-20 17:51:57 +01:00
Colin Snover
e78d3a7e2d Merge in data_nocollide branch. Fixes #6968, improves unit testing framework checks for leaky stuff. 2011-01-17 15:31:43 -06:00
jaubourg
ac2e731b2d Added unit tests to check and demonstrate new jQuery.Deferred() works. 2011-01-17 17:52:30 +01:00
jaubourg
c272f5f7da Implements joined jQuery.when statements. Makes it so calling jQuery.when with no parameter returns a resolved promise. Ensures promise method on promises supports the promise(obj) signature. Ensures a deferred and its promise always return the same promise (itself for the promise). Unit tests provided. 2011-01-16 17:41:39 +01:00
wycats
fa45f25d1c Fix a failing subclass test due to a change in master 2011-01-14 11:17:32 -05:00
Jared Grippe
d483ce0a9c added jQuery.subclass 2011-01-14 10:38:32 -05:00
Colin Snover
b14f02899e Ensure that buildFragment clones elements properly in all browsers. Fixes #3879, #6655. Also improves form element clone tests and fixes bugs in $.fn.clone exposed by these new test cases related to the values of checkboxes and radio buttons in IE. 2011-01-09 18:38:44 -06:00
Colin Snover
e2941d5a98 Update unit tests with a leak detection mechanism for the various jQuery globals and fix all leaks in the tests. 2011-01-09 15:58:47 -06:00
jaubourg
1ca82ccd94 Renamed "complete" to "done" in order to avoid conflicts with jXHR.complete. 2011-01-06 01:26:06 +01:00
Colin Snover
e56de77df9 Cleaning up trailing whitespace again. 2011-01-05 15:44:07 -06:00
wycats
ae6655bcb6 Revert "Register as a CommonJS async module if in that kind of environment. Fixes #7102."
This reverts commit 6ffa730721.

Conflicts:

	src/core.js
2011-01-05 13:26:05 -08:00
jaubourg
cbf591152c "then" renamed "complete" and new "then" method defined using "complete" and "fail" internally. The API is still symetrical (complete/fail), still promotes AOP but is also now Promise/A compliant. Changed unit tests and ajax module accordingly. 2011-01-05 04:29:30 +01:00
rwldrn
037d6bd5c3 4321 returns empty jquery object 2011-01-01 17:13:04 -05:00
jaubourg
6fb9759a75 Simplified the way a Promise is tested for (removed promiseMarker). Removed isCancelled helper method from _Deferred, wasn't used nor tested. Reworked jQuery.Deferred and removed unnecessary variables. Also ensured a Promise will return itself when asked for a Promise. Finally, the jQuery.when tests have been revamped. 2010-12-31 04:15:15 +01:00
jaubourg
6dbffb8596 Introduced a new promise method on deferreds that returns an immutable object (exposing then, fail, isResolved, isRejected and promise itself only). Remove $.isDeferred and moved logic directly into $.when. Made sure $.when returns a promise by using promise(). Used promise() in ajax code too. 2010-12-31 04:15:11 +01:00
unknown
240d8b681e Removed custom method in isDeferred and when. 2010-12-31 04:05:56 +01:00
unknown
23d455b446 Deferred cannot be cancelled by returning false in a callback. Exception in the callback are still propagated and execution of remaining callbacks is still possible. 2010-12-31 04:05:55 +01:00
unknown
2d4001b82c Capitalized Deferred & _Deferred to clearly mark them as new types, like Event. 2010-12-31 04:05:53 +01:00
jaubourg
5bacb53866 Added deferred to core. Used internally for DOM readyness and ajax callbacks. 2010-12-31 03:49:22 +01:00
jrburke
6ffa730721 Register as a CommonJS async module if in that kind of environment. Fixes #7102. 2010-12-27 13:03:27 -06:00
Gianni Chiappetta
9f8cd6c499 Fixing $.proxy to work like (and use) Function.prototype.bind (ticket #7783)
http://bugs.jquery.com/ticket/7783
2010-12-14 21:53:04 -05:00
jeresig
b4bb6e1126 Backing out fb6c038bf0, was causing jQuery.param tests to fail - unfixes #7413. 2010-12-09 13:07:44 -05:00
jeresig
fb6c038bf0 Merge branch 'bug_7413' of https://github.com/rwldrn/jquery into rwldrn-bug_7413 2010-12-09 12:32:15 -05:00
Anton M
5c0b5d2560 Improve performance of get() for negative indices. Fixes #5476. 2010-11-19 12:28:13 +01:00
rwldrn
fc563cc42a Fixes #7413; isEmptyObject() check to see if obj passes isPlainObject 2010-11-09 16:14:11 -05:00
Robert Katic
894bd02a06 Test jQuery.type also with document. 2010-09-23 12:08:54 -04:00
Robert Katic
484cc6e220 Made jQuery.type more consistent with host objects. 2010-09-23 12:08:41 -04:00
Robert Katic
97b42492bb Added some tests for #5991. 2010-09-23 12:07:22 -04:00
Robert Katic
694b625c92 Ensured that arrays are not considered same as plain object on deep extending. Fixes #5991. 2010-09-23 12:07:06 -04:00
jeresig
d7a6e75241 Add some tests for jQuery.isWindow and make sure that we're operating against an object before testing. 2010-09-22 16:50:38 -04:00
jeresig
bca5765502 Make sure that jQuery works even when the individual modules are loaded separately AND jQuery.noConflict(true) is used. Fixes #7011. 2010-09-08 13:54:33 -04:00
John Resig
5d2be7e299 Added some tweaks to $.type to handle null and undefined. Added a bunch of unit tests as well. 2010-08-27 06:10:52 -07:00
John Resig
396dd21273 Fixing getting/setting classes and makeArray(RegExp) for Blackberry 4.7. Fixes #6930, #6931. 2010-08-23 12:38:55 -07:00
jzaefferer
6f031c1015 Replace usage of the removed global reset() method with QUnit.reset(). 2010-07-28 17:19:01 +02:00
jeresig
3b221da8b0 Adjust isPlainObject test to run in an iframe. 2010-03-24 15:18:11 -04:00
jeresig
141ad3c3e2 Landing a faster trim method. Based upon the work by Travis Hardiman and DBJDBJ. More details here: http://forum.jquery.com/topic/faster-jquery-trim Fixes #2279, #4452, and #4835. 2010-03-09 09:14:27 -05:00
jeresig
94d925cd46 Make sure leading whitespace is trimmed for parseJSON. Fixes #6031. 2010-02-13 02:14:23 -05:00
jeresig
b8076a914b Landing some minor perf optimization to jQuery(). 2010-01-28 17:17:51 -05:00
jeresig
781fe8b80d Make empty strings (and other non-string values) simply return null from parseJSON. Also added some parseJSON tests. Fixes #5859. 2010-01-23 17:08:26 -05:00
jeresig
ea9e0ed841 Moved add() tests from core to traversing. 2010-01-23 16:54:24 -05:00
jeresig
5d49335eac Make sure that disconnected nodes aren't sorted/uniqued. Fixes #5791. 2010-01-13 00:12:18 -05:00
jeresig
8e53f7b5d6 Fixed typo in logic, also disabled function setters in this case to allow the functions to passthrough and bind. 2010-01-12 21:54:06 -05:00
Filipe Fortes
0d1a2c1b11 Make sure to do a deep copy on arrays. #5750 2010-01-07 00:11:22 +08:00
jeresig
230614b4df Merging in jQuery.proxy() branch. 2010-01-05 19:18:39 -05:00
jeresig
ffb1867a43 Rewrite of jQuery.browser to become engine-centric, rather than browser-centric. Also attempt to determine the engine version in a smarter fashion, less prone to error. Finally, enhanced the test suite with 255 useragent strings from http://user-agent-string.info/download for testing. jQuery.browser.safari is now deprecated, use jQuery.browser.webkit instead. 2010-01-05 17:01:20 -05:00
jeresig
1d2b1a57da Added in jQuery.proxy(obj, name), like the method described in Secrets of the JavaScript Ninja and in Dojo's Hitch, and added in some unit tests. 2009-12-31 15:17:52 -05:00
jeresig
c05712f0a5 Fixed the spacing from the last commit. 2009-12-18 12:43:35 -05:00
jeresig
d40083c866 Disabled the passthrough .attr(method_name) functionality. You can now use it if you do: .attr({method_name: value}, true) OR as an easy initialization method: jQuery('<div/>', {html: '...', id: 'test'}). 2009-12-18 12:41:53 -05:00
Robert Katic
148fb7ba8e Made isPlainObject() supporting null, undefined, and window values on IE too. Also added some related tests. Fixes #5669. 2009-12-19 01:19:34 +08:00
John Resig
65ebf57c1e Make sure that dynamically-created elements don't have a parent. Fixes #5638. 2009-12-10 17:01:04 -08:00
John Resig
474d814076 Moved some methods around inbetween core.js and traversing.js. Core methods shouldn't rely upon other modules (e.g. the selector engine) wherever possible. 2009-12-10 09:25:25 -08:00
John Resig
715d1c5a30 Rewrote .merge() (faster and less obtuse now). Fixed #5610. 2009-12-09 21:43:20 -08:00
John Resig
04524287d3 Switched jQuery() to represent jQuery([]) instead of jQuery(document). 2009-12-09 20:36:07 -08:00
John Resig
87ba780c69 Renamed isObjectLiteral to isPlainObject (makes more sense, per the suggestion of Michael Geary). 2009-12-06 17:11:51 -05:00
jeresig
b8d0c0711f Added some isObjectLiteral tests. 2009-12-02 14:57:13 -05:00
Yehuda Katz
17955cacf4 Fixes $.trim for &nbsp; closes #4980 2009-11-30 10:22:18 -08:00
Robert Katic
ac00fe5bbb Generic jQuery.merge and safer jQuery.makeArray(nodeList).
* Made jQuery.marge more generic supporting null and undefined values, and supporting array like objects as results. Fixes #5527.

* Made jQuery.makeArray(nodeList) more safer using jQuery.merge internally. Fixes #5528.

* Added a second "results" argument to jQuery.makeArray for internal usage to avoid intermediary arrays in init.
2009-11-26 00:56:49 +08:00
Robert Katic
ee9192d103 Corrected some minor errors made by me (rkatic) in last commits. 2009-11-13 08:09:46 +08:00
Robert Katic
7b26e3bcc8 Forgotten to update the number of jQuery.extend related tests. 2009-11-12 21:59:48 +08:00
Robert Katic
93be758de9 Made jQuery.extend(true, ...) to extend recursively only 'object literal' values. 2009-11-12 21:59:47 +08:00
Robert Katic
990d9ca1b0 Made isObjectLiteral to work correctly with custom objects with empty prototypes. 2009-11-12 21:59:47 +08:00
John Resig
c4c820efff Made jQuery('<div/>') and jQuery('<div></div>') use the same code path (making the second one faster). Fixes #5293. 2009-11-11 13:49:29 -05:00
rkatic
b256a3a266 Added a method to myKlass.
If an object's prototype is "empty", then isObject returns true!
2009-11-09 19:32:24 +08:00
John Resig
b0fe380cf8 Make .add() take an optional context and - if a context is specified in the root selector - use that as the base context. 2009-11-07 16:43:31 +01:00
John Resig
4bda398e6a Switched from using QUnit's isObj/isSet to the more robust same method. 2009-09-29 19:49:43 +00:00