Image Asset tests, upgrade package, and code.
RSS Limiter tests, upgrade package, and code.
This commit is contained in:
commit
4c408da55a
10 changed files with 856 additions and 13 deletions
|
|
@ -20,6 +20,7 @@ BEGIN {
|
|||
$mocker->fake_new('WebGUI::Form::Image');
|
||||
}
|
||||
|
||||
use File::Copy;
|
||||
use WebGUI::Test;
|
||||
use WebGUI::Session;
|
||||
use WebGUI::Image;
|
||||
|
|
@ -29,23 +30,23 @@ use WebGUI::Form::File;
|
|||
|
||||
use Test::More; # increment this value for each test you create
|
||||
use Test::Deep;
|
||||
plan tests => 7;
|
||||
plan tests => 11;
|
||||
|
||||
my $session = WebGUI::Test->session;
|
||||
|
||||
my $square = WebGUI::Image->new($session, 100, 100);
|
||||
$square->setBackgroundColor('#0000FF');
|
||||
my $rectangle = WebGUI::Image->new($session, 100, 200);
|
||||
$rectangle->setBackgroundColor('#0000FF');
|
||||
|
||||
##Create a storage location
|
||||
my $storage = WebGUI::Storage->create($session);
|
||||
|
||||
##Save the image to the location
|
||||
$square->saveToStorageLocation($storage, 'square.png');
|
||||
$rectangle->saveToStorageLocation($storage, 'blue.png');
|
||||
|
||||
##Do a file existance check.
|
||||
|
||||
ok((-e $storage->getPath and -d $storage->getPath), 'Storage location created and is a directory');
|
||||
cmp_bag($storage->getFiles, ['square.png'], 'Only 1 file in storage with correct name');
|
||||
cmp_bag($storage->getFiles, ['blue.png'], 'Only 1 file in storage with correct name');
|
||||
|
||||
##Initialize an Image Asset with that filename and storage location
|
||||
|
||||
|
|
@ -68,9 +69,29 @@ is($asset->get('storageId'), $asset->getStorageLocation->getId, 'Image Asset sto
|
|||
|
||||
$asset->update({
|
||||
storageId => $storage->getId,
|
||||
filename => 'square.png',
|
||||
filename => 'blue.png',
|
||||
});
|
||||
|
||||
my $filename = $asset->getStorageLocation->getPath . "/" . $asset->get("filename");
|
||||
|
||||
my @stat_before = stat($filename);
|
||||
$asset->getStorageLocation->rotate($asset->get("filename"), 90);
|
||||
my @stat_after = stat($filename);
|
||||
is(isnt_array(\@stat_before, \@stat_after), 1, 'Image is different after rotation');
|
||||
|
||||
@stat_before = stat($filename);
|
||||
$asset->getStorageLocation->resize($asset->get("filename"), 200, 300);
|
||||
my @stat_after = stat($filename);
|
||||
is(isnt_array(\@stat_before, \@stat_after), 1, 'Image is different after resize');
|
||||
|
||||
@stat_before = stat($filename);
|
||||
$asset->getStorageLocation->crop($asset->get("filename"), 100, 125, 10, 25);
|
||||
my @stat_after = stat($filename);
|
||||
is(isnt_array(\@stat_before, \@stat_after), 1, 'Image is different after crop');
|
||||
|
||||
my $sth = $session->db->read('describe imageAsset annotations');
|
||||
isnt($sth->hashRef, undef, 'Annotations column is defined');
|
||||
|
||||
is($storage->getId, $asset->get('storageId'), 'Asset updated with correct new storageId');
|
||||
is($storage->getId, $asset->getStorageLocation->getId, 'Cached Asset storage location updated with correct new storageId');
|
||||
|
||||
|
|
@ -81,3 +102,13 @@ END {
|
|||
$versionTag->rollback;
|
||||
}
|
||||
}
|
||||
|
||||
sub isnt_array {
|
||||
my ($a, $b) = @_;
|
||||
|
||||
for (my $i = 0; $i < @{ $a }; ++$i) {
|
||||
return 1 if @{ $a }[$i] ne @{ $b }[$i];
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue