On Mon, May 30, 2011 at 12:45 AM, Nathan Sweet <[email protected]> wrote:
> Okay I found some interesting failures. If you want to have a look see again
> (http://nathansweet.me/queryselectorall-rundown). The general sibling
> selector, ie tilde, ie "~", fails to return. The matches selector fails on

I can hardly believe qSA is failing generic sibling selectors, better
check your assertions in that test.

--
Diego


> the first call for me, I'm going to try some others. This is the last you'll
> hear from me for a while on the subject until I have a whole test suite
> going and I'm sure my selectors are failing for the right reasons.
>
> On Sun, May 29, 2011 at 10:33 AM, Diego Perini <[email protected]>
> wrote:
>>
>> On Sun, May 29, 2011 at 4:29 PM, Nathan Sweet <[email protected]>
>> wrote:
>> >>>The only selector string failing in your tests is the ".1st-p" which
>> >>>correctly fails since the class name does not correspond to a valid
>> >>>identifier.
>> > Fixed. Thanks for the heads up.
>> > TOALL:
>> > Doesn't anybody know of any interesting failures with qSA? I'm not
>> > saying it
>> > to be smug, I can't find any. I'm sure that it fails on some pseudos.
>>
>>
>> Nathan,
>> I am sure I don't cover everything in my feature testing but the block
>> of code handling that in NWMatcher could be a start, it is commented
>> and includes external links to related readings:
>>
>>    https://github.com/dperini/nwmatcher/blob/master/src/nwmatcher.js#L328
>>
>> that block is specific for bugs related to the "querySelectorAll"
>> method. You should probably expect the same bugs be present in the
>> "querySelector" method.
>>
>> One very annoying bug is in the Webkit/Chrome implementation of the
>> "matchesSelector" method (WebkitMatchesSelector), the problem seems to
>> be that first call return correct results while second and further
>> calls will return incorrect results. This bug happens with indexed
>> structural pseudo-classes like ":nth-child()", see this bug for more
>> informations and a small test:
>>
>>    http://code.google.com/p/chromium/issues/detail?id=78266
>>
>> Hope this gives you enough material to start with ;-)
>>
>>
>> --
>> Diego
>>
>>
>> > On Sun, May 29, 2011 at 1:42 AM, Diego Perini <[email protected]>
>> > wrote:
>> >>
>> >> Nathan,
>> >> the "querySelectorAll" method exists also on IE 8 in Standard Mode.
>> >>
>> >> In all IE versions < 9 there are problem with the "Universal selector"
>> >> since their API methods returns text nodes included in the result set.
>> >> This is not only a problem with "querySelectorAll", in fact on IE < 9
>> >> also "getElementsByTagName" has the same problems with text nodes.
>> >>
>> >> There are several other bugs in IE < 9 related to elements selection
>> >> API. The baseline for IE is that after retrieving the NodeList one
>> >> need to go through it members discarding text nodes, comments and
>> >> invalid elements.
>> >>
>> >> The conditional I prefer to use to filter appropriate nodes from the
>> >> list
>> >> is:
>> >>
>> >>    if (element.nodeName > '@') {
>> >>      .... // it is an Element node
>> >>    }
>> >>
>> >> also the standard one is:
>> >>
>> >>    if (element.nodeType == 1) {
>> >>      .... // it is an Element node
>> >>    }
>> >>
>> >> I prefer the first since it also helps discard fake "closed tags"
>> >> elements for non recognized HTML5 elements, for example:
>> >>
>> >>    <abbr>NYC</abbr>
>> >>
>> >> could be recognized as two elements in some IE version <= 8, the first
>> >> is the open tag "abbr", the second is the close tag "/abbr" which
>> >> tagName/nodeName starts with a slash.
>> >>
>> >> The only selector string failing in your tests is the ".1st-p" which
>> >> correctly fails since the class name does not correspond to a valid
>> >> identifier.
>> >>
>> >>
>> >> --
>> >> Diego
>> >>
>> >>
>> >>
>> >> On Sun, May 29, 2011 at 7:34 AM, Nathan Sweet <[email protected]>
>> >> wrote:
>> >> >>>Whats the difference in Chrome, FF? nodelist is non-live in all of
>> >> >>> them.
>> >> > When I said unlike the others I meant the other IE versions, not the
>> >> > other
>> >> > browsers, my bad :
>> >> > It's kind of a moot point anyways, if it was implemented in <IE9 then
>> >> > it
>> >> > might have been implemented correctly. What I was referring to is
>> >> > that
>> >> > in
>> >> > <IE9 a lot of the selectors return nodelists that
>> >> > include intermittent
>> >> > text
>> >> > nodes for the empty spaces, whereas other browsers don't do that. I
>> >> > was
>> >> > referring to this particular quirk in <IE9, which prevents
>> >> > Array.prototype.slice.call from being cross-browser friendly for node
>> >> > lists
>> >> > for certain selector methods. Someone once told me that some
>> >> > libraries
>> >> > remove all the white space between elements, but I don't actually see
>> >> > how
>> >> > that could help as a spaced out innerHTML assignment could easily
>> >> > foul
>> >> > it
>> >> > up.
>> >> >
>> >> > On Sat, May 28, 2011 at 10:14 PM, Andrew Dodson
>> >> > <[email protected]>
>> >> > wrote:
>> >> >>
>> >> >> Isn't that what its supposed
>> >> >> to http://www.w3.org/TR/selectors-api/#nodeselector
>> >> >> Whats the difference in Chrome, FF? nodelist is non-live in all of
>> >> >> them.
>> >> >>
>> >> >>
>> >> >>
>> >> >> On Sat, May 28, 2011 at 7:58 PM, Nathan Sweet
>> >> >> <[email protected]>
>> >> >> wrote:
>> >> >>>
>> >> >>> I meant <IE9, IE9 also only returns elements in its nodelists,
>> >> >>> unlike
>> >> >>> the
>> >> >>> others.
>> >> >>>
>> >> >>> On Sat, May 28, 2011 at 7:54 PM, Andrew Dodson
>> >> >>> <[email protected]> wrote:
>> >> >>>>
>> >> >>>> querySelectorAll is enabled in IE9, checkout "ie9 testdrive".
>> >> >>>>
>> >> >>>> On 28 May 2011 19:50, "nathanJsweet" <[email protected]>
>> >> >>>> wrote:
>> >> >>>>
>> >> >>>> So I've been messing around with querySelectorAll. I've published
>> >> >>>> a blog post about it which can be found at "nathansweet.me/
>> >> >>>> queryselectorall",
>> >> >>>> though I'm not really plugging the post, which actually doesn't
>> >> >>>> have
>> >> >>>> so
>> >> >>>> much information concerning the method as it does a link to a page
>> >> >>>> I've created that tests the method.
>> >> >>>>
>> >> >>>> I'm asking anybody in this group who is interested take a look
>> >> >>>> at this page (it can be found at "nathansweet.me/queryselectorall-
>> >> >>>> rundown")
>> >> >>>> and email me, respond to this post, or comment on the blog post
>> >> >>>> any
>> >> >>>> other selector ideas they can come up with. My goal would be to
>> >> >>>> come
>> >> >>>> up with an exhaustive list of selectors that I could then run
>> >> >>>> through
>> >> >>>> a multitude of browsers (I would, of course, share the results).
>> >> >>>> I've
>> >> >>>> already come up with some interesting failures that shouldn't be
>> >> >>>> occurring,
>> >> >>>> and I'm also interested to hear from people who've worked with the
>> >> >>>> method extensively.
>> >> >>>>
>> >> >>>> Also am I wrong in thinking that since querySelectorAll isn't
>> >> >>>> implemented in IE
>> >> >>>> that it will always return only elements? Thus, is it safe to do
>> >> >>>> Array.prototype.slice.call
>> >> >>>> on any nodelist returned by querySelectorAll? I haven't thought of
>> >> >>>> a
>> >> >>>> case yet where
>> >> >>>> this wouldn't be a bad idea, let me know.
>> >> >>>>
>> >> >>>> Also, if nobody helps it's no big deal, as I will be adding
>> >> >>>> selectors
>> >> >>>> to it over the coming weeks,
>> >> >>>> so if you're into bookmarking it might be worth coming back for a
>> >> >>>> second or third look.
>> >> >>>>
>> >> >>>> --
>> >> >>>> To view archived discussions from the original JSMentors Mailman
>> >> >>>> list:
>> >> >>>> http://www.mail-archive.com/[email protected]/
>> >> >>>>
>> >> >>>> To search via a non-Google archive, visit here:
>> >> >>>> http://www.mail-archive.com/[email protected]/
>> >> >>>>
>> >> >>>> To unsubscribe from this group, send email to
>> >> >>>> [email protected]
>> >> >>>>
>> >> >>>> --
>> >> >>>> To view archived discussions from the original JSMentors Mailman
>> >> >>>> list:
>> >> >>>> http://www.mail-archive.com/[email protected]/
>> >> >>>>
>> >> >>>> To search via a non-Google archive, visit here:
>> >> >>>> http://www.mail-archive.com/[email protected]/
>> >> >>>>
>> >> >>>> To unsubscribe from this group, send email to
>> >> >>>> [email protected]
>> >> >>>
>> >> >>> --
>> >> >>> To view archived discussions from the original JSMentors Mailman
>> >> >>> list:
>> >> >>> http://www.mail-archive.com/[email protected]/
>> >> >>>
>> >> >>> To search via a non-Google archive, visit here:
>> >> >>> http://www.mail-archive.com/[email protected]/
>> >> >>>
>> >> >>> To unsubscribe from this group, send email to
>> >> >>> [email protected]
>> >> >>
>> >> >> --
>> >> >> To view archived discussions from the original JSMentors Mailman
>> >> >> list:
>> >> >> http://www.mail-archive.com/[email protected]/
>> >> >>
>> >> >> To search via a non-Google archive, visit here:
>> >> >> http://www.mail-archive.com/[email protected]/
>> >> >>
>> >> >> To unsubscribe from this group, send email to
>> >> >> [email protected]
>> >> >
>> >> > --
>> >> > To view archived discussions from the original JSMentors Mailman
>> >> > list:
>> >> > http://www.mail-archive.com/[email protected]/
>> >> >
>> >> > To search via a non-Google archive, visit here:
>> >> > http://www.mail-archive.com/[email protected]/
>> >> >
>> >> > To unsubscribe from this group, send email to
>> >> > [email protected]
>> >> >
>> >>
>> >> --
>> >> To view archived discussions from the original JSMentors Mailman list:
>> >> http://www.mail-archive.com/[email protected]/
>> >>
>> >> To search via a non-Google archive, visit here:
>> >> http://www.mail-archive.com/[email protected]/
>> >>
>> >> To unsubscribe from this group, send email to
>> >> [email protected]
>> >
>> > --
>> > To view archived discussions from the original JSMentors Mailman list:
>> > http://www.mail-archive.com/[email protected]/
>> >
>> > To search via a non-Google archive, visit here:
>> > http://www.mail-archive.com/[email protected]/
>> >
>> > To unsubscribe from this group, send email to
>> > [email protected]
>> >
>>
>> --
>> To view archived discussions from the original JSMentors Mailman list:
>> http://www.mail-archive.com/[email protected]/
>>
>> To search via a non-Google archive, visit here:
>> http://www.mail-archive.com/[email protected]/
>>
>> To unsubscribe from this group, send email to
>> [email protected]
>
> --
> To view archived discussions from the original JSMentors Mailman list:
> http://www.mail-archive.com/[email protected]/
>
> To search via a non-Google archive, visit here:
> http://www.mail-archive.com/[email protected]/
>
> To unsubscribe from this group, send email to
> [email protected]
>

-- 
To view archived discussions from the original JSMentors Mailman list: 
http://www.mail-archive.com/[email protected]/

To search via a non-Google archive, visit here: 
http://www.mail-archive.com/[email protected]/

To unsubscribe from this group, send email to
[email protected]

Reply via email to