}
}
-=begin testing
-
-#:: test pipeline
-
-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);
-
-=end testing
-
-=cut
-
sub resolve_path {
my ($class, $path) = @_;
}
}
-=begin testing
-
-#:: test classmethod setup
-
-my $c = 'local::lib';
-
-=end testing
-
-=begin testing
-
-#:: test classmethod
-
-is($c->resolve_empty_path, '~/perl5');
-is($c->resolve_empty_path('foo'), 'foo');
-
-=end testing
-
-=cut
-
sub resolve_home_path {
my ($class, $path) = @_;
return $path unless ($path =~ /^~/);
$path = File::Spec->rel2abs($path);
}
-=begin testing
-
-#:: test classmethod
-
-local *File::Spec::rel2abs = sub { shift; 'FOO'.shift; };
-is($c->resolve_relative_path('bar'),'FOObar');
-
-=end testing
-
-=cut
-
sub ensure_dir_structure_for {
my ($class, $path) = @_;
unless (-d $path) {
return;
}
-=begin testing
-
-#:: test classmethod
-
-File::Path::rmtree('t/var/splat');
-
-$c->ensure_dir_structure_for('t/var/splat');
-
-ok(-d 't/var/splat');
-
-=end testing
-
-=cut
-
sub guess_shelltype {
my $shellbin
= defined $ENV{SHELL}
+++ /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;
- my $line = $_[0];
- if ($line =~ /^=for test (\S+)(?:\s+(\S+))?/) {
- $mode = 'inner';
- ($test, $segment) = ($1, $2);
- $segment ||= '';
- $text = '';
- } elsif ($line =~ /^=begin testing/) {
- $mode = 'find_comment';
- ($test, $segment, $text) = ('', '', '');
- }
-}
-
-sub mode::find_comment {
- shift;
- my $line = $_[0];
- if ($line =~ /^\#\:\: test (\S+)(?:\s+(\S+))?/) {
- $mode = 'inner';
- ($test, $segment) = ($1, $2);
- $segment ||= '';
- }
-}
-
-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");
-}