#!/usr/bin/perl
use strict;
use Test::More 'no_plan';
use File::Spec;
use_ok( 'Brick' );
use_ok( 'Brick::Bucket' );
use_ok( 'Brick::Files' );
ok( defined &Brick::Bucket::_get_file_extensions_by_mime_type,
"_get_file_extensions_by_mime_type sub is there");
my $bucket = 'Brick::Bucket';
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# These things should work
my %types = (
'application/vnd.ms-excel' => [ qw(xls xlt) ],
'application/x-msword' => [ qw(doc dot) ],
'text/plain' => [ qw(txt) ],
);
foreach my $type ( sort keys %types )
{
my @extensions = $bucket->_get_file_extensions_by_mime_type( $type );
ok( scalar @extensions, "$type got some extensions back! (good)" );
# diag "$type: @extensions";
my %extensions = map { $_, 1 } @extensions;
my %types = map { $_, 1 } @{ $types{$type} };
foreach my $t ( sort keys %types )
{
ok( exists $extensions{$t}, "Found $t for $type" );
}
}
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# These things should not work (get an empty list)
{
no warnings 'uninitialized';
my @types = (
'x-system/x-error', undef, -1, 0
);
foreach my $type ( sort @types )
{
no warnings;
my @extensions = $bucket->_get_file_extensions_by_mime_type( $type );
is( scalar @extensions, 0, "$type has no extensions! (good)" );
# diag "$type: @extensions";
}
}