I integrated the tests in the following branch:
http://github.com/jquery/jquery/commits/attr

At first scan it looks like the majority of the ~10 failures in
Firefox relate to the suite expecting 'null' and us returning some
other false-y value. That seems like an easy enough fix.

Found two bugs in the suite:
 - In the document element test it's not actually testing the document
element, but a form.
 - One line has removeAttr(el, 'xyz', 'abc'); which seems to have an
unnecessary 3rd argument.

I'm not sure if I'll have time to work on this more today but if
anyone is interested, the tests/code are all up now.

--John



On Fri, Dec 11, 2009 at 9:27 AM, John Resig <jere...@gmail.com> wrote:
> Looking through the test suite a bit more it seems to have some pretty
> good coverage. I'll see if I can rewrite it later today to fit within
> the jQuery suite and then start handling the edge cases from there.
>
> --John
>
>
>
> On Fri, Dec 11, 2009 at 9:10 AM, John Resig <jere...@gmail.com> wrote:
>>> 1) It still confuses properties and attributes, which is its biggest
>>> problem. Behavior is unpredictable. This is bad.
>>
>> Do you have any specific examples?
>>
>>> 2) It looks like new code was added to call the jQuery method if the
>>> requested attribute is in jQuery.fn. But what about attributes like
>>> "height" or "wrap"? It won't retrieve the attribute value, but
>>> instead, runs the height() or wrap() methods!
>>
>> The wrap one was a mistake (the code in 1.4a1 covered too many
>> methods) it's since been scaled back. In the case of height, for
>> example, we definitely do want to get the height value as reported by
>> .height(), especially since it's likely to be more accurate than
>> trying to get elem.height.
>>
>>> 3) The list in jQuery.props is still incomplete
>>
>> Do you have any specific examples?
>>
>>> 4) The "special" cases list is still incomplete
>>
>> Do you have any specific examples?
>>
>>> 5) It forces values to be strings, so I can't set attributes like attr
>>> ('onclick',function(){...}) which in theory should work just fine. In
>>> FF, for example, el.setAttribute('onclick',function(){...}) works as
>>> expected.
>>
>> I don't think that's a case that we particularly want to support,
>> though. In 1.4 you can just do: .attr("click", function(){}) and it
>> would work (albeit tied into the full event system, which is much
>> better).
>>
>>> Referenced is a good, robust review of attribute handling with test
>>> cases that should probably be in the jQuery test suite:
>>> http://www.cinsoft.net/attributes.html
>>
>> I don't see a particular license on those tests - are they available
>> under an MIT license?
>>
>>> Any hopes of fixing it up soon?
>>
>> Specific filed bugs and test cases would certainly accelerate the process.
>>
>> --John
>>
>

--

You received this message because you are subscribed to the Google Groups 
"jQuery Development" group.
To post to this group, send email to jquery-...@googlegroups.com.
To unsubscribe from this group, send email to 
jquery-dev+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en.


Reply via email to