Commit Graph

188 Commits

Author SHA1 Message Date
Timmy Willison
b5b0d72774 Attributes: add SVG class manipulation
- Note: support for SVG is limited in jQuery,
  but this is one area where the cost vs benefit ratio
  was acceptable.

Fixes gh-2199
Close gh-2268
2015-05-12 10:24:42 -04:00
Timmy Willison
7bce5b0ee1 Attributes: revert returning null for non-existant attributes
Ref https://github.com/jquery/jquery/issues/2118
2015-03-30 15:30:21 -04:00
Timmy Willison
a403655491 Attributes: revert returning null for non-elements 2015-03-16 14:12:00 -04:00
Timmy Willison
17bd6e9cf9 Attributes: fix failing test for new return value 2015-03-16 11:54:43 -04:00
Winston Howes
afca031826 Attributes: return null when attribute does not exist
Fixes gh-2118
Close gh-2129

Conflicts:
	test/unit/attributes.js
2015-03-16 11:54:33 -04:00
Michał Gołębiowski
aec41a5c41 Attributes: Simplify the option val hook; backport a test from master
The hook is still defined; not using it could cause issues in IE<11.
Backport the test from the master branch.

Also, IE10 no longer throws when value not set but it still doesn't trim the
value. IE11 has all those issues fixed; support comments are updated.

(cherry-picked from f6302b0b53)

Fixes gh-1902
Closes gh-1901
2014-12-08 22:51:55 +01:00
Michał Gołębiowski
90d7cc1d8b Misc: Drop support for older browsers; update support comments
That includes IE<8, Opera 12.x, Firefox<29, Safari<6.0 and some hacks
for old Blackberry.

Fixes gh-1836
Fixes gh-1701
Refs gh-1815
Refs gh-1820
2014-12-08 21:12:33 +01:00
Richard Gibson
f6f8848fbe Tests: Minor updates for QUnit 1.16 compatibility
More to come later.
2014-12-05 12:32:49 -05:00
Oleg Gaidarenko
9cdaa75b86 Tests: Correct logic of a broken assertion 2014-04-15 17:46:25 +04:00
John Hoven
9ec429cf62 Attributes: Trim whitespace from option text when returned as a value
Fixes #14858
Ref #14686
Closes gh-1531
2014-03-20 15:44:09 -04:00
Oleg
2b98a2636b Tests: Fix code style issues
(cherry-picked from a2250b0f4c)
2014-01-16 07:05:11 +04:00
Oleg
f601dd4d23 Attrs: Restore ability to pass array to jQuery#val
Thanks @gibson042
2014-01-16 06:55:56 +04:00
Oleg
92cbf5362c Attrs: Fix valHook for option element
Fixes #14686
2014-01-16 03:21:25 +04:00
cjqed
305eefe6ab Tests: Avoid use of QUnit.reset() in tests by splitting them
Closes gh-1470
Ref #1457
2014-01-03 08:01:46 +04:00
Michał Gołębiowski
4743f017a6 Add tests for class manipulation on jQuery object containing more than one element. Close gh-1404. (cherry-picked from 35b2b94979) 2013-10-25 00:50:55 +02:00
Richard Gibson
6a6604b785 No ticket: Hide the testing-support jQuery from tests
(cherry picked from commit 0c18520923)

Conflicts:

	test/data/testrunner.js
2013-09-03 11:13:20 -04:00
Timmy Willison
05d907d1b1 Fix for custom attr handles duck-punching the boolean attr handle 2013-08-28 12:12:37 -04:00
Richard Gibson
a7f42d9966 Fix #13835: classes separated by form feed
(cherry picked from commit d8a35011ec)
2013-05-13 21:55:18 -04:00
Timmy Willison
d2435ead36 Update jshintrc to conform to new style guide. Conform to onevar and unused in tests. Fixes #13755.
Conflicts:
	src/.jshintrc
	src/data.js
	test/unit/attributes.js
	test/unit/core.js
	test/unit/data.js
	test/unit/event.js
	test/unit/manipulation.js
	test/unit/queue.js
	test/unit/traversing.js
	test/unit/wrap.js
2013-04-09 12:21:54 -04:00
Oleg Gaidarenko
08e57b1de7 Adjust the return value of the tabIndex propHook to match the spec. Fixes #13752. 2013-04-08 21:41:08 -04:00
Michał Gołębiowski
4adde5d145 Update grunt-contrib-jshint to 0.3.0, ref gh-1204. 2013-04-03 20:41:41 -04:00
ruado1987
48d71d0c3e Fix #13514: Set selectedIndex to -1 when non-matching value is set on a select. Close gh-1191. 2013-03-22 12:46:13 -04:00
dmitrygusev
a13cadadf6 Fix typos. Close gh-1186. 2013-02-28 15:55:55 -05:00
Richard Gibson
1f76536650 No ticket: Revise unit tests in anticipation of Sizzle-free builds
(cherry picked from commit 59f5adb622)
2013-02-22 20:33:00 -05:00
Dave Methvin
24e7624554 Fix #12656. Make event shorthands excludable. 2013-01-27 00:35:42 -05:00
Mike Sherov
abead1c86b Fixes #13088: under IE8, $(selector).attr('style') always return lowercase string 2012-12-31 12:30:02 -05:00
Richard Gibson
06f46dad93 let .attr(checked|selected, true) update the property 2012-12-16 10:39:19 -05:00
Richard Gibson
a763ae7277 Fix #11115: Normalize boolean attributes/properties. Close gh-1066. 2012-12-15 23:16:48 -05:00
Richard Gibson
2c40fdd4a8 Fix #12600: don't use value property in place of value attribute. Close gh-1063. 2012-12-14 10:37:20 -05:00
Oleg
13651f296d Fix #9646. Cloned nodes shouldn't affect original in IE7. Close gh-947. 2012-12-13 09:29:40 -05:00
Dave Methvin
40e08f81bd Missed a var declaration in aad235b325. 2012-12-11 23:35:51 -05:00
Dave Methvin
aad235b325 Fix #13011. Let 'type' attribute be set if the browser allows. 2012-12-11 23:16:08 -05:00
Timo Tijhof
55313d32a2 Test: Update index.html to new QUnit format. Close gh-1061.
Depends on jquery/sizzle#177, included with the Sizzle submodule in this commit.
2012-12-10 21:48:20 -05:00
Oleg
9ae6b1a019 Fix #12957. Simplify wrapMap, it doesn't need end tags. Close gh-1044. 2012-11-27 21:32:59 -05:00
Richard Gibson
243d4cc83c Don't let removeClass create attributes 2012-11-27 09:46:06 -05:00
aFarkas
ca5e06a15c Fix #12915, add propHook for scrip src property on oldIE. Close gh-1035. 2012-11-18 21:20:12 -05:00
Richard Gibson
48bd8b509b No ticket: speedup effects tests 2012-11-12 21:06:16 -05:00
Richard Gibson
81b094b2c1 No ticket: update test suite to pass QUnit globals check in most environments. Close gh-1016. 2012-11-05 17:24:03 -05:00
Richard Gibson
80d45a69ea Fix #12840: remove undocumented parameter "pass" from .attr. Close gh-1017. 2012-11-05 17:21:24 -05:00
Dave Methvin
240b141a22 Fix #10299. Add a propHook for oldIE link href. 2012-11-01 20:50:45 -04:00
Richard Gibson
3f51504580 No ticket: remove test suite external dependencies 2012-11-01 17:32:08 -04:00
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
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
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
Rick Waldron
fd5facf1d1 Convert all jQuery.removeData(foo, bar, true) calls to jQuery._remove(foo, bar)
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2012-10-16 14:14:37 -04:00
Erick Ruiz de Chavez
69ce829dfe Enforce style guide in test/unit/attributes.js. Closes gh-985 2012-10-16 12:29:21 -04:00
Mike Sherov
ed9e34482a enforce double quotes via JSHint. Closes gh-975 2012-10-16 10:17:14 -04:00
Richard Gibson
425d17de83 Fix #12583: Don't ignore disabled property of select-one, close gh-932. 2012-10-03 21:14:08 -04:00
Dave Methvin
631fbc769c Since .getAttribute() returns strings, we should check for them. 2012-09-30 22:19:31 -04:00