Skip to content

Commit

Permalink
Coerce eq() argument all the time. Fixes #10616
Browse files Browse the repository at this point in the history
  • Loading branch information
rwaldron authored and dmethvin committed Nov 6, 2011
1 parent e086c22 commit 7cbd7a6
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 4 deletions.
3 changes: 2 additions & 1 deletion src/core.js
Expand Up @@ -264,9 +264,10 @@ jQuery.fn = jQuery.prototype = {
},

eq: function( i ) {
i = +i;
return i === -1 ?
this.slice( i ) :
this.slice( i, +i + 1 );
this.slice( i, i + 1 );
},

first: function() {
Expand Down
16 changes: 13 additions & 3 deletions test/unit/traversing.js
Expand Up @@ -103,9 +103,9 @@ test("is(jQuery)", function() {

test("is() with positional selectors", function() {
expect(23);
var html = jQuery(
'<p id="posp"><a class="firsta" href="#"><em>first</em></a><a class="seconda" href="#"><b>test</b></a><em></em></p>'

var html = jQuery(
'<p id="posp"><a class="firsta" href="#"><em>first</em></a><a class="seconda" href="#"><b>test</b></a><em></em></p>'
).appendTo( "body" ),
isit = function(sel, match, expect) {
equal( jQuery( sel ).is( match ), expect, "jQuery( " + sel + " ).is( " + match + " )" );
Expand Down Expand Up @@ -630,3 +630,13 @@ test("add(String, Context)", function() {
deepEqual( jQuery( document.getElementById("firstp") ).add( "#ap", ctx ).get(), q( "firstp" ), "Add gEBId to selector, not in context" );
deepEqual( jQuery( document.getElementById("firstp") ).add( "#ap", document.getElementsByTagName("body")[0] ).get(), q( "firstp", "ap" ), "Add gEBId to selector, in context" );
});

test("eq('-1') #10616", function() {
expect(3);
var $divs = jQuery( "div" );

equal( $divs.eq( -1 ).length, 1, "The number -1 returns a selection that has length 1" );
equal( $divs.eq( "-1" ).length, 1, "The string '-1' returns a selection that has length 1" );
deepEqual( $divs.eq( "-1" ), $divs.eq( -1 ), "String and number -1 match" );
});

0 comments on commit 7cbd7a6

Please sign in to comment.