File: 37-fileset.t

package info (click to toggle)
libextutils-builder-perl 0.017-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 276 kB
  • sloc: perl: 1,351; makefile: 2
file content (38 lines) | stat: -rw-r--r-- 803 bytes parent folder | download
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
#!perl

use strict;
use warnings;

use Test::More 0.89;
use lib 't/lib';
use Test::LivesOK 'lives_ok';

use ExtUtils::Builder::Planner;

use File::Spec::Functions 'catfile';

my $planner = ExtUtils::Builder::Planner->new;
$planner->load_extension("Callback");

my $sources = $planner->create_pattern(file => "*.src");
my %sources;
my $destination = $planner->create_subst(
	on => $sources,
	subst => sub {
		my ($source) = @_;
		my $destination = catfile('build', $source);
		$destination =~ s/\.src$/\.dest/;
		$sources{$source}++;
		$planner->create_node(
			target => $destination,
		);
	}
);

$planner->add_seen('foo.src');
$planner->create_node(target => 'bar.src');
$planner->add_seen('baz.nosrc');

is_deeply(\%sources, { 'foo.src' => 1, 'bar.src' => 1}, 'Seen expected sources');

done_testing;