Add tests for dealing with files beginning with thumb- (they're ignored)

and determining if a file is an image, based on the filename.
This commit is contained in:
Colin Kuskie 2007-07-07 21:33:52 +00:00
parent e75b689857
commit e04443c6ee

View file

@ -21,7 +21,50 @@ use File::Spec;
use Test::More;
use Test::Deep;
plan tests => 7; # increment this value for each test you create
my $extensionTests = [
{
filename => 'filename',
isImage => 0,
comment => 'no extension',
},
{
filename => 'filename.JPG',
isImage => 1,
comment => 'JPG caps',
},
{
filename => 'filename.jpg',
isImage => 1,
comment => 'JPG lower case',
},
{
filename => 'filename.jpeg',
isImage => 1,
comment => 'jpeg file',
},
{
filename => 'filename.gif',
isImage => 1,
comment => 'gif file',
},
{
filename => 'filename.png',
isImage => 1,
comment => 'png file',
},
{
filename => 'filename.bmp',
isImage => 0,
comment => 'bmp file is not an image',
},
{
filename => 'filename.tiff',
isImage => 0,
comment => 'tiff file is not an image',
},
];
plan tests => 9 + scalar @{ $extensionTests }; # increment this value for each test you create
my $session = WebGUI::Test->session;
@ -41,13 +84,31 @@ $session->config->set('caseInsensitiveOS', 0);
####################################################
my $imageStore = WebGUI::Storage::Image->create($session);
cmp_bag($imageStore->getFiles(1), ['.', '..'], 'Starting with an empty storage object, no files in here except for . and ..');
my $expectedFiles = ['.', '..'];
cmp_bag($imageStore->getFiles(1), $expectedFiles, 'Starting with an empty storage object, no files in here except for . and ..');
$imageStore->addFileFromScalar('.dotfile', 'dot file');
cmp_bag($imageStore->getFiles(), [ ], 'getFiles() by default does not return dot files');
cmp_bag($imageStore->getFiles(1), ['.', '..', '.dotfile'], 'getFiles(1) returns all files, including dot files');
push @{ $expectedFiles }, '.dotfile';
cmp_bag($imageStore->getFiles(), [ ], 'getFiles() by default does not return dot files');
cmp_bag($imageStore->getFiles(1), $expectedFiles, 'getFiles(1) returns all files, including dot files');
$imageStore->addFileFromScalar('dot.file', 'dot.file');
cmp_bag($imageStore->getFiles(), ['dot.file'], 'getFiles() returns normal files');
cmp_bag($imageStore->getFiles(1), ['.', '..', '.dotfile', 'dot.file'], 'getFiles(1) returns all files, including dot files');
push @{ $expectedFiles }, 'dot.file';
cmp_bag($imageStore->getFiles(), ['dot.file'], 'getFiles() returns normal files');
cmp_bag($imageStore->getFiles(1), $expectedFiles, 'getFiles(1) returns all files, including dot files');
$imageStore->addFileFromScalar('thumb-file.png', 'thumbnail file');
cmp_bag($imageStore->getFiles(), ['dot.file', ], 'getFiles() ignores thumb- file');
cmp_bag($imageStore->getFiles(1), $expectedFiles, '... even when the allFiles switch is passed');
####################################################
#
# isImage
#
####################################################
foreach my $extTest ( @{ $extensionTests } ) {
is( $imageStore->isImage($extTest->{filename}), $extTest->{isImage}, $extTest->{comment} );
}
END {
foreach my $stor (