el.class
Arthur Axel 'fREW' Schmidt [Sun, 11 Apr 2010 07:05:01 +0000 (02:05 -0500)]
lib/HTML/Zoom/SelectorParser.pm

index ed1d586..a47ed66 100644 (file)
@@ -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;