diff --git a/lib/WebGUI/i18n/English/Macro_FileUrl.pm b/lib/WebGUI/i18n/English/Macro_FileUrl.pm index 0b9d68f10..a9b764848 100644 --- a/lib/WebGUI/i18n/English/Macro_FileUrl.pm +++ b/lib/WebGUI/i18n/English/Macro_FileUrl.pm @@ -16,9 +16,9 @@ our $I18N = { message => q|

^FileUrl();
^FileUrl(Asset URL);
-This macro is used to return a filesystem URL to a File or Image Asset identified by its Asset URL.

+This macro is used to return a filesystem URL to an Asset which stores a single file (File, Image, ZipArchive, etc.) identified by its Asset URL. The Macro will not work on Assets which store multiple files, such as the Post or Article Assets.

|, - lastUpdated => 1153476000, + lastUpdated => 1165599338, }, 'invalid url' => { diff --git a/t/Macro/FileUrl.t b/t/Macro/FileUrl.t index 215a08453..1d4011f7b 100644 --- a/t/Macro/FileUrl.t +++ b/t/Macro/FileUrl.t @@ -84,10 +84,14 @@ my @testSets = ( ); -my $numTests = scalar(@testSets); +my $numTests = 0; $numTests += 1; #For the use_ok $numTests += 1; #non-existant URL +foreach my $testSet (@testSets) { + $numTests += $testSet->{pass} ? 2 : 1; +} + plan tests => $numTests; my $macro = 'WebGUI::Macro::FileUrl'; @@ -106,7 +110,10 @@ my $homeAsset = WebGUI::Asset->getDefault($session); foreach my $testSet (@testSets) { my $output = WebGUI::Macro::FileUrl::process($session, $testSet->{url}); if ($testSet->{pass}) { - is($output, $testSet->{fileUrl}, $testSet->{comment}); + my $storageId = $testSet->{asset}->get("storageId"); + my $expectedUrl = WebGUI::Storage->get($session, $storageId)->getUrl($testSet->{filename}); + ok($expectedUrl, $testSet->{comment}." returns non-null file"); + is($output, $expectedUrl, $testSet->{comment}); } else { is($output, $testSet->{output}, $testSet->{comment}); @@ -127,6 +134,7 @@ sub setupTest { my $storage = WebGUI::Storage->create($session); my $filename = join '.', 'fileName', $testNum; + $testSet->{filename} = $filename; ##Store the filename in the file, just for reference. $storage->addFileFromScalar($filename,$filename); @@ -145,5 +153,6 @@ sub setupTest { } END { ##Clean-up after yourself, always + use Data::Dumper; $versionTag->rollback; }