Acme-Tools

 view release on metacpan or  search on metacpan

t/20_range_globr.t  view on Meta::CPAN

# make test
# perl Makefile.PL; make; perl -Iblib/lib t/20_range_globr.t

use lib '.'; BEGIN{require 't/common.pl'}
use Test::More tests => 7+15;

ok_ref([range(11)],     [0,1,2,3,4,5,6,7,8,9,10], 'range(11)' );
ok_ref([range(2,11)],   [2,3,4,5,6,7,8,9,10],     'range(2,11)' );
ok_ref([range(11,2,-1)],[11,10,9,8,7,6,5,4,3],    'range(11,2,-1)' );
ok_ref([range(2,11,3)], [2,5,8],                  'range(2,11,3)' );
ok_ref([range(11,2,-3)],[11,8,5],                 'range(11,2,-3)' );
ok_ref([range(2,11,1,0.1)],      [2, 3, 4.1, 5.3,  6.6,  8,   9.5       ],'range(2,11,1,0.1)');
ok_ref([range(2,11,1,0.1,-0.01)],[2, 3, 4.1, 5.29, 6.56, 7.9, 9.3, 10.75],'range(2,11,1,0.1,-0.01)');

sub ok_globr {
  my($g,$e,$c)=@_;
  my @g=globr($g);
  $g=join" ",@g;
  $e=join" ",@$e;
  my $ok=$g eq $e && !defined$c || $c==@g;
  ok( $ok, "globr $_[0]  -->  $e" );
  print "got:      $g\n" and
  print "expected: $e\n" if not $ok;
}
ok_globr( "X{a,b,c}Y",              [qw/XaY XbY XcY/] );
ok_globr( "X{a,b,c}Y",              [glob("X{a,b,c}Y")] );
ok_globr( "X{a..c}Y",               [glob("X{a,b,c}Y")] );
ok_globr( "X{a..c..2}Y",            [glob("X{a,c}Y")] );
ok_globr( "{01..10}",               [qw/01 02 03 04 05 06 07 08 09 10/] );
ok_globr( "{01..10..2}",            [qw/01 03 05 07 09/] );
ok_globr( "{1..10}",                [1..10] );
ok_globr( "{01..03..1}{00..99..5}", [grep/[05]$/,"0100".."0399"], 300/5 );
ok_globr( "XY{a..d..2}Z",           [qw/XYaZ XYcZ/] );
ok_globr( "X{aa..bz..13}Z",         [qw/XaaZ XanZ XbaZ XbnZ/] );
ok_globr( "X{bz..aa..13}Z",         [qw/XbzZ XbmZ XazZ XamZ/] );
ok_globr( "X{10..02..3}.",          [glob "X{10,07,04}."] );
ok_globr( "X{10..02..-3}.",         [glob "X{10,07,04}."] );
ok_globr( "X{-10..-6}.",            [glob "X{-10,-9,-8,-7,-6}."] );
ok_globr( "X{-10..-6..2}.",         [glob "X{-10,-8,-6}."] );
#ok_globr( "X{-10..-06}.",          [glob "X{-10,-07}."] ); #not ok yet

#deglob... #basisdatarapport-poengekv

#print join(" ",globr "*")."\n"; #hm



( run in 0.936 second using v1.01-cache-2.11-cpan-39bf76dae61 )