From: Arthur Axel 'fREW' Schmidt Date: Sun, 11 Apr 2010 07:05:01 +0000 (-0500) Subject: el.class X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=50b9ca86389321f2f5ed7efb39a31d07efc5a4ac;p=catagits%2FHTML-Zoom.git el.class --- diff --git a/lib/HTML/Zoom/SelectorParser.pm b/lib/HTML/Zoom/SelectorParser.pm index ed1d586..a47ed66 100644 --- a/lib/HTML/Zoom/SelectorParser.pm +++ b/lib/HTML/Zoom/SelectorParser.pm @@ -46,6 +46,18 @@ sub _raw_parse_simple_selector { } }; + # 'el.class1' - element + class + + /\G$sel_re\.$sel_re/gc and + return do { + my $cls = $1; $cls =~ s/^\.//; + my $name = $2; + sub { + $_[0]->{name} && $_[0]->{name} eq $name and + $_[0]->{attrs}{class} && $_[0]->{attrs}{class} eq $cls + } + }; + confess "Couldn't parse $_ as starting with simple selector"; } } @@ -60,7 +72,7 @@ sub parse_selector { PARSE: { do { push(@sub, $self->_raw_parse_simple_selector($_)); last PARSE if (pos == length); - /\G\s*,\s*/gc or confess "Selectors not comma separated"; + #/\G\s*,\s*/gc or confess "Selectors not comma separated"; } until (pos == length) }; return $sub[0] if (@sub == 1); return sub { @@ -69,7 +81,7 @@ sub parse_selector { } }; } -} - +} + 1;