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;
}