}
}
-=for test
+=for test pipeline
package local::lib;
{ package Foo; sub foo { -$_[1] } sub bar { $_[1]+2 } sub baz { $_[1]+3 } }
my $foo = bless({}, 'Foo');
-ok($foo->${pipeline qw(foo bar baz)}(10) == -15);
+Test::More::ok($foo->${pipeline qw(foo bar baz)}(10) == -15);
=cut
File::Path::rmtree('t/var/splat');
-$c->resolve_relative_path('t/var/splat');
+$c->ensure_dir_structure_for('t/var/splat');
ok(-d 't/var/splat');
--- /dev/null
+#!/usr/bin/env perl
+
+use strict;
+use warnings;
+use IO::All;
+
+my $mode;
+
+my %tests;
+
+my ($test, $segment, $text);
+
+sub mode::outer {
+ shift;
+ if (shift =~ /^=for test (\S+)(?:\s+(\S+))?/) {
+ $mode = 'inner';
+ ($test, $segment) = ($1, $2);
+ $segment ||= '';
+ $text = '';
+ }
+}
+
+sub mode::inner {
+ shift;
+ if ($_[0] =~ /^=/) {
+ $mode = 'outer';
+ push(@{$tests{$test}{$segment}||=[]}, $text);
+ } else {
+ $text .= $_[0];
+ }
+}
+
+
+my @lines = io('lib/local/lib.pm')->getlines;
+
+$mode = 'outer';
+
+foreach my $line (@lines) {
+ #warn "$mode: $line";
+ mode->$mode($line);
+}
+
+foreach my $test (keys %tests) {
+ my $data = $tests{$test};
+ my $text = join("\n", q{
+use strict;
+use warnings;
+use Test::More 'no_plan';
+use local::lib ();
+}, @{$data->{setup}||[]},
+ map { "{\n$_}\n"; } @{$data->{''}||[]}
+ );
+ $text > io("t/${test}.t");
+}
--- /dev/null
+
+use strict;
+use warnings;
+use Test::More 'no_plan';
+use local::lib ();
+
+
+my $c = 'local::lib';
+
+
+{
+
+is($c->resolve_empty_path, '~/perl5');
+is($c->resolve_empty_path('foo'), 'foo');
+
+}
+
+{
+
+local *File::Spec::rel2abs = sub { shift; 'FOO'.shift; };
+is($c->resolve_relative_path('bar'),'FOObar');
+
+}
+
+{
+
+File::Path::rmtree('t/var/splat');
+
+$c->ensure_dir_structure_for('t/var/splat');
+
+ok(-d 't/var/splat');
+
+ok(-f 't/var/splat/.modulebuildrc');
+
+}
--- /dev/null
+
+use strict;
+use warnings;
+use Test::More 'no_plan';
+use local::lib ();
+
+{
+
+package local::lib;
+
+{ package Foo; sub foo { -$_[1] } sub bar { $_[1]+2 } sub baz { $_[1]+3 } }
+my $foo = bless({}, 'Foo');
+Test::More::ok($foo->${pipeline qw(foo bar baz)}(10) == -15);
+
+}
--- /dev/null
+--install_base t/var/splat