The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use strict;
use Test::Base;

use Web::Scraper;
plan tests => 1 * blocks;

filters {
    selector => 'chomp',
    args     => 'yaml',
    expected => 'yaml',
};

run {
    my $block = shift;
    my $s = scraper {
        process $block->selector, @{ $block->args };
    };
    my $data = $s->scrape($block->html);
    is_deeply $data, $block->expected, $block->name;
};

__DATA__

===
--- html
<ul>
<li><a href="foo.html">foo</a></li>
<li><a href="bar.html">bar</a></li>
</ul>
--- selector
ul>li>a
--- args
- sites[]
- link: '@href'
  name: TEXT
--- expected
sites:
  - link: foo.html
    name: foo
  - link: bar.html
    name: bar