Skip to content
Permalink
Browse files

Style edits according to comments from John and rwaldron.

  • Loading branch information
timmywil
timmywil committed Mar 14, 2011
1 parent f578e0f commit dbe3b7a9d052b7bf0c73ead1ecd43a40152416a0
Showing with 44 additions and 9 deletions.
  1. +19 −9 src/attributes.js
  2. +25 −0 test/unit/attributes.js
@@ -320,18 +320,27 @@ jQuery.extend({
var attr = elem.getAttribute( name );

// Non-existent attributes return null, we normalize to undefined
return attr === null || attr === "undefined" || attr === "null" ? undefined : attr;
return attr === null || attr === "undefined" || attr === "null" ?
undefined :
attr;
}
}
},

removeAttr: function( elem, name ) {
name = jQuery.attrFix[ name ] || name;

jQuery.support.getSetAttribute ? elem.removeAttribute( name ) :
if ( jQuery.support.getSetAttribute ) {
elem.removeAttribute( name )
} else {
// set property to null if getSetAttribute not supported (IE6-7)
// setting className to null makes the class "null"
name === "className" ? elem.className = "" : elem.setAttribute( name, null );
if ( name === "className" ) {
elem.className = ""
} else {
elem.setAttribute( name, null );
}
}
},

attrHooks: {
@@ -345,10 +354,7 @@ jQuery.extend({
}
},

// TODO: Check to see if we really need any here.
propFix: {

},
propFix: {},

prop: function( elem, name, value ) {

@@ -403,10 +409,14 @@ if ( !jQuery.support.getSetAttribute ) {
// Action attribute in ie6/7 returns form objects
jQuery.attrHooks.action = {
get: function( elem ) {
return elem.nodeName === "FORM" ? elem.getAttributeNode("action").nodeValue : elem.getAttribute("action");
return elem.nodeName === "FORM" ?
elem.getAttributeNode("action").nodeValue :
elem.getAttribute("action");
},
set: function( elem, value ) {
elem.nodeName === "FORM" ? elem.getAttributeNode("action").nodeValue = value : elem.setAttribute("action", value);
elem.nodeName === "FORM" ?
elem.getAttributeNode("action").nodeValue = value :
elem.setAttribute("action", value);
return value;
}
};
@@ -3,6 +3,31 @@ module("attributes", { teardown: moduleTeardown });
var bareObj = function(value) { return value; };
var functionReturningObj = function(value) { return (function() { return value; }); };

if ( !jQuery.support.getSetAttribute ) {
test("jQuery.attrFix integrity test", function() {
expect(1);

// This must be maintained and equal jQuery.attrFix when appropriate
// Ensure that accidental or erroneous property
// overwrites don't occur
// This is simply for better code coverage and future proofing.
var propsShouldBe = {
"for": "htmlFor",
"class": "className",
readonly: "readOnly",
maxlength: "maxLength",
cellspacing: "cellSpacing",
rowspan: "rowSpan",
colspan: "colSpan",
tabindex: "tabIndex",
usemap: "useMap",
frameborder: "frameBorder"
};

same(propsShouldBe, jQuery.attrFix, "jQuery.attrFix passes integrity check");
});
}

test("prop", function() {
equals( jQuery('#text1').prop('value'), "Test", 'Check for value attribute' );
equals( jQuery('#text1').prop('value', "Test2").prop('defaultValue'), "Test", 'Check for defaultValue attribute' );

0 comments on commit dbe3b7a

Please sign in to comment.
You can’t perform that action at this time.