Update CPANPLUS to 0.85_06
[p5sagit/p5-mst-13.2.git] / lib / CPANPLUS / t / 08_CPANPLUS-Backend.t
index f6be5a7..fbcaeca 100644 (file)
@@ -59,52 +59,138 @@ ok( IS_CONFOBJ->(conf => $conf_obj),    "Configure object found" );
 
 
 ### parse_module tests ###
-{   my @map = (     # author                package             version
-        $Name   => [ $mod->author->cpanid,  $mod->package_name, $mod->version ],
-        $mod    => [ $mod->author->cpanid,  $mod->package_name, $mod->version ],
-        'Foo-Bar-EU-NOXS'
-                => [ $mod->author->cpanid,  $mod->package_name, $mod->version ],
-        'Foo-Bar-EU-NOXS-0.01'
-                => [ $mod->author->cpanid,  $mod->package_name, '0.01' ],
-        'EUNOXS/Foo-Bar-EU-NOXS'
-                => [ 'EUNOXS',              $mod->package_name, $mod->version ],
-        'EUNOXS/Foo-Bar-EU-NOXS-0.01'
-                => [ 'EUNOXS',              $mod->package_name, '0.01' ],
-        'Foo-Bar-EU-NOXS-0.09'
-                => [ $mod->author->cpanid,  $mod->package_name, '0.09' ],
-        'MBXS/Foo-Bar-EU-NOXS-0.01'
-                => [ 'MBXS',                $mod->package_name, '0.01' ],
-        'EUNOXS/Foo-Bar-EU-NOXS-0.09'
-                => [ 'EUNOXS',              $mod->package_name, '0.09' ],
-        'EUNOXS/Foo-Bar-EU-NOXS-0.09.zip'
-                => [ 'EUNOXS',              $mod->package_name, '0.09' ],
-        'FROO/Flub-Flob-1.1.zip'
-                => [ 'FROO',                'Flub-Flob',        '1.1' ],
-        'G/GO/GOYALI/SMS_API_3_01.tar.gz'
-                => [ 'GOYALI',              'SMS_API',          '3_01' ],
-        'E/EY/EYCK/Net/Lite/Net-Lite-FTP-0.091'
-                => [ 'EYCK',                'Net-Lite-FTP',     '0.091' ],
-        'EYCK/Net/Lite/Net-Lite-FTP-0.091'
-                => [ 'EYCK',                'Net-Lite-FTP',     '0.091' ],
-        'M/MA/MAXDB/DBD-MaxDB-7.5.00.24a'
-                => [ 'MAXDB',               'DBD-MaxDB',        '7.5.00.24a' ],
-        'EUNOXS/perl5.005_03.tar.gz'
-                => [ 'EUNOXS',              'perl',             '5.005_03' ],
-        'FROO/Flub-Flob-v1.1.0.tbz'
-                => [ 'FROO',                'Flub-Flob',        'v1.1.0' ],
-        'FROO/Flub-Flob-1.1_2.tbz'
-                => [ 'FROO',                'Flub-Flob',        '1.1_2' ],   
-        'LDS/CGI.pm-3.27.tar.gz'
-                => [ 'LDS',                 'CGI',              '3.27' ],
-        'FROO/Text-Tabs+Wrap-2006.1117.tar.gz'
-                => [ 'FROO',                'Text-Tabs+Wrap',   '2006.1117' ],   
-        'JETTERO/Crypt-PBC-0.7.20.0-0.4.9',
-                => [ 'JETTERO',             'Crypt-PBC',    '0.7.20.0-0.4.9' ],   
-                
+{   my @map = (                                  
+        $Name => [ 
+            $mod->author->cpanid,   # author
+            $mod->package_name,     # package name
+            $mod->version,          # version
+        ],
+        $mod => [ 
+            $mod->author->cpanid,  
+            $mod->package_name, 
+            $mod->version, 
+        ],
+        'Foo-Bar-EU-NOXS' => [ 
+            $mod->author->cpanid,  
+            $mod->package_name, 
+            $mod->version,
+        ],
+        'Foo-Bar-EU-NOXS-0.01' => [ 
+            $mod->author->cpanid,  
+            $mod->package_name, 
+            '0.01',
+        ],
+        'EUNOXS/Foo-Bar-EU-NOXS' => [ 
+            'EUNOXS',
+            $mod->package_name, 
+            $mod->version,
+        ],
+        'EUNOXS/Foo-Bar-EU-NOXS-0.01' => [ 
+            'EUNOXS',              
+            $mod->package_name, 
+            '0.01',
+        ],
+        ### existing module, no extension given
+        ### this used to create a modobj with no package extension
+        'EUNOXS/Foo-Bar-0.02' => [ 
+            'EUNOXS',              
+            'Foo-Bar',
+            '0.02',
+        ],
+        'Foo-Bar-EU-NOXS-0.09' => [ 
+            $mod->author->cpanid,  
+            $mod->package_name, 
+            '0.09',
+        ],
+        'MBXS/Foo-Bar-EU-NOXS-0.01' => [ 
+            'MBXS',                
+            $mod->package_name, 
+            '0.01',
+        ],
+        'EUNOXS/Foo-Bar-EU-NOXS-0.09' => [ 
+            'EUNOXS',
+            $mod->package_name, 
+            '0.09',
+        ],
+        'EUNOXS/Foo-Bar-EU-NOXS-0.09.zip' => [ 
+            'EUNOXS',
+            $mod->package_name, 
+            '0.09',
+        ],
+        'FROO/Flub-Flob-1.1.zip' => [ 
+            'FROO',    
+            'Flub-Flob',    
+            '1.1',  
+        ],
+        'G/GO/GOYALI/SMS_API_3_01.tar.gz' => [ 
+            'GOYALI',  
+            'SMS_API',      
+            '3_01', 
+        ],
+        'E/EY/EYCK/Net/Lite/Net-Lite-FTP-0.091' => [ 
+            'EYCK',    
+            'Net-Lite-FTP', 
+            '0.091',
+        ],
+        'EYCK/Net/Lite/Net-Lite-FTP-0.091' => [ 
+            'EYCK',
+            'Net-Lite-FTP', 
+            '0.091',
+        ],
+        'M/MA/MAXDB/DBD-MaxDB-7.5.0.24a' => [ 
+            'MAXDB',
+            'DBD-MaxDB',
+            '7.5.0.24a', 
+        ],
+        'EUNOXS/perl5.005_03.tar.gz' => [ 
+            'EUNOXS',  
+            'perl',
+            '5.005_03',
+        ],
+        'FROO/Flub-Flub-v1.1.0.tbz' => [ 
+            'FROO',    
+            'Flub-Flub',       
+            'v1.1.0', 
+        ],
+        'FROO/Flub-Flub-1.1_2.tbz' => [ 
+            'FROO',    
+            'Flub-Flub',       
+            '1.1_2',
+        ],   
+        'LDS/CGI.pm-3.27.tar.gz' => [ 
+            'LDS',
+            'CGI',
+            '3.27', 
+        ],
+        'FROO/Text-Tabs+Wrap-2006.1117.tar.gz' => [ 
+            'FROO',    
+            'Text-Tabs+Wrap',
+            '2006.1117',                                                      
+        ],   
+        'JETTERO/Crypt-PBC-0.7.20.0-0.4.9' => [ 
+            'JETTERO',
+            'Crypt-PBC',
+            '0.7.20.0-0.4.9' ,
+        ],
+        'GRICHTER/HTML-Embperl-1.2.1.tar.gz' => [ 
+            'GRICHTER',            
+            'HTML-Embperl', 
+            '1.2.1',
+        ],
+        'KANE/File-Fetch-0.15_03' => [
+            'KANE',
+            'File-Fetch',
+            '0.15_03',
+        ],
+        'AUSCHUTZ/IO-Stty-.02.tar.gz' => [
+            'AUSCHUTZ',
+            'IO-Stty',
+            '.02',
+        ],            
     );       
 
     while ( my($guess, $attr) = splice @map, 0, 2 ) {
-        my( $author, $pkg, $version ) = @$attr;
+        my( $author, $pkg_name, $version ) = @$attr;
 
         ok( $guess,             "Attempting to parse $guess" );
 
@@ -118,10 +204,14 @@ ok( IS_CONFOBJ->(conf => $conf_obj),    "Configure object found" );
                                 "   Proper version found: $version" );
         is( $obj->package_version, $version,
                                 "       Found in package_version as well" );
-        is( $obj->package_name, $pkg,
-                                "   Proper package found: $pkg" );
+        is( $obj->package_name, $pkg_name,
+                                "   Proper package_name found: $pkg_name" );
         unlike( $obj->package_name, qr/\d/,
                                 "       No digits in package name" );
+        {   my $ext = $obj->package_extension;
+            ok( $ext,           "       Has extension as well: $ext" );
+        }
+        
         like( $obj->author->cpanid, "/$author/i", 
                                 "   Proper author found: $author");
         like( $obj->path,           "/$author/i",