File: 04_subclass.t

package info (click to toggle)
libhtml-selector-xpath-perl 0.28-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 260 kB
  • sloc: perl: 1,716; makefile: 2
file content (41 lines) | stat: -rw-r--r-- 741 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package HTML::Selector::XPath::Extended;

use strict;
use Test::Base;

use base qw(HTML::Selector::XPath);

plan tests => 1 * blocks;
filters { selector => 'chomp', xpath => 'chomp' };

sub parse_pseudo {
    my ($self, $pseudo, $expr) = @_;
    return q{[@type='foo']} if $pseudo eq 'foo';
    return qq{[\@type='bar-$1']} if $pseudo =~ /^bar\(/ && $$expr =~ s/^"([^"] )"\)//;
    return "" if $pseudo eq 'quax';
}

run {
    my $block = shift;
    my $selector = HTML::Selector::XPath::Extended->new($block->selector);
    is $selector->to_xpath, $block->xpath, $block->selector;
}

__END__
===
--- selector
:foo
--- xpath
//*[@type='foo']

===
--- selector
:bar("baz")
--- xpath
//*[@type='bar-baz']

===
--- selector
:quax
--- xpath
//*