diff --git a/t/Asset/AssetExportHtml.t b/t/Asset/AssetExportHtml.t
index 76c7e6d9b..535f4bc8c 100644
--- a/t/Asset/AssetExportHtml.t
+++ b/t/Asset/AssetExportHtml.t
@@ -41,7 +41,7 @@ my $originalExportPath = $session->config->get('exportPath');
my $testRan = 1;
-plan tests => 144; # Increment this number for each test you create
+plan tests => 126; # Increment this number for each test you create
#----------------------------------------------------------------------------
# exportCheckPath()
@@ -262,7 +262,7 @@ isa_ok($gcAsPath, 'Path::Class::File', 'exportGetUrlAsPath for grandchild return
is($gcAsPath->absolute($exportPath)->stringify, $litmus->absolute($exportPath)->stringify, "exportGetUrlAsPath for grandchild works for root directory");
# without index.html
-my $gcAsPath = $grandChild->exportGetUrlAsPath();
+$gcAsPath = $grandChild->exportGetUrlAsPath();
$litmus = Path::Class::File->new($exportPath, $grandChild->getUrl, 'index.html');
isa_ok($gcAsPath, 'Path::Class::File', 'exportGetUrlAsPath for grandchild without index file returns a Path::Class::File object');
is($gcAsPath->absolute($exportPath)->stringify, $litmus->absolute($exportPath)->stringify, "exportGetUrlAsPath for grandchild without index file works for root directory");
@@ -672,7 +672,7 @@ $session->user( { userId => 3 } );
# in other words, we need to test that the ultimate results of calling
# exportAsHtml are what they should be, given the inputs we provide.
my (@createdFiles, @shouldExist, $success, $message);
-my $exportPath = Path::Class::Dir->new($session->config->get('exportPath'));
+$exportPath = Path::Class::Dir->new($session->config->get('exportPath'));
# first things first. let's make sure the code checks for the proper arguments.
# quiet is optional, so don't test that. userId is a bit smart and will take
@@ -699,24 +699,22 @@ eval { $message = $home->exportAsHtml( { userId => 3, depth => 99, extrasUploadA
is($@, "'o hai' is not a valid extrasUploadAction", "exportAsHtml throws correct error when given bogus, memetic extrasUploadAction parameter");
# rootUrlAction
-($success, $message) = $home->exportAsHtml( { userId => 3, depth => 99, rootUrlAction => 'NO U' } );
-is($success, 0, "exportAsHtml returns 0 when given bogus, memetic rootUrlAction parameter");
-is($message, "'NO U' is not a valid rootUrlAction", "exportAsHtml returns correct message when given bogus, memetic extrasUploadAction parameter");
+eval { $message = $home->exportAsHtml( { userId => 3, depth => 99, rootUrlAction => 'NO U' } ) };
+is($@, "'NO U' is not a valid rootUrlAction", "exportAsHtml throws correct error when given bogus, memetic extrasUploadAction parameter");
# finally, depth
-($success, $message) = $home->exportAsHtml( { userId => 3 } );
-is($success, 0, "exportAsHtml returns 0 when not given depth");
-is($message, "need a depth", "exportAsHtml returns correct message when not given a depth");
+eval { $message = $home->exportAsHtml( { userId => 3 } ) };
+is($@, "need a depth", "exportAsHtml throws correct error when not given a depth");
-($success, $message) = $home->exportAsHtml( { userId => 3, depth => 'orly? yarly!' } );
-is($success, 0, "exportAsHtml returns 0 when given bogus, memetic depth");
-is($message, "orly? yarly! is not a valid depth", "exportAsHtml returns correct message when given bogus, memetic depth");
+eval { $message = $home->exportAsHtml( { userId => 3, depth => 'orly? yarly!' } ) };
+is($@, "orly? yarly! is not a valid depth", "exportAsHtml throws correct error when given bogus, memetic depth");
# next, let's make sure some simple exports work. export 'home', but clean up
# the exportPath first to make sure there are no residuals from the tests
# above.
$exportPath->rmtree;
-($success, $message) = $home->exportAsHtml( { userId => 3, depth => 99, quiet => 1 } );
+eval { $message = $home->exportAsHtml( { userId => 3, depth => 99, quiet => 1 } ) };
+is($@, '', "exportAsHtml on home does not throw an error"); ##Note, string comparison
# list of files that should exist. obtained by running previous known working
# export function on a full stock asset tree
@@ -750,6 +748,7 @@ $exportPath->rmtree;
);
my $numberCreatedAll = scalar @createdFiles;
+like($message, qr/Exported $numberCreatedAll pages/, "exportAsHtml on home returns correct message");
push @createdFiles,
[ qw/ the_latest_news the_latest_news.atom /],
[ qw/ the_latest_news the_latest_news.rss /],
@@ -757,21 +756,19 @@ push @createdFiles,
;
# turn them into Path::Class::File objects
-my @shouldExist = map { Path::Class::File->new($exportPath, @{$_})->absolute->stringify } @createdFiles;
+@shouldExist = map { Path::Class::File->new($exportPath, @{$_})->absolute->stringify } @createdFiles;
# ensure that the files that should exist do exist
my @doExist;
$exportPath->recurse( callback => sub { my $o = shift; $o->is_dir ? return : push @doExist, $o->absolute->stringify } );
cmp_bag(\@doExist, \@shouldExist, "exportAsHtml on home writes correct files");
-is($success, 1, "exportAsHtml on home returns true");
-like($message, qr/Exported $numberCreatedAll pages/, "exportAsHtml on home returns correct message");
$exportPath->rmtree;
@doExist = ();
# previous tests ensure that the contents of the exported files are right. so
# let's go a level deeper and ensure that the right files are present.
-($success, $message) = $gettingStarted->exportAsHtml( { userId => 3, depth => 99, quiet => 1 } );
+eval { ($message) = $gettingStarted->exportAsHtml( { userId => 3, depth => 99, quiet => 1 } ) };
@createdFiles = (
[ qw/ getting_started getting-started index.html /],
[ qw/ getting_started getting-started-part2 index.html /],
@@ -781,15 +778,15 @@ $exportPath->rmtree;
@shouldExist = map { Path::Class::File->new($exportPath, @{$_})->absolute->stringify } @createdFiles;
$exportPath->recurse( callback => sub { my $o = shift; $o->is_dir ? return : push @doExist, $o->absolute->stringify } );
-cmp_deeply([sort @doExist], [sort @shouldExist], "exportAsHtml on getting-started writes correct files");
-is($success, 1, "exportAsHtml on getting-started returns true");
-like($message, qr/Exported 4 pages/, "exportAsHtml on getting-started returns correct message");
+is($@, '', 'exportAsHtml on getting-started page does not throw an exception');
+cmp_bag(\@doExist, \@shouldExist, "... writes correct files");
+like($message, qr/Exported 4 pages/, "... returns correct message");
$exportPath->rmtree;
@doExist = ();
# test the grandchild.
-($success, $message) = $grandChild->exportAsHtml( { userId => 3, depth => 99, quiet => 1 } );
+eval { ($message) = $grandChild->exportAsHtml( { userId => 3, depth => 99, quiet => 1 } ) };
@createdFiles = (
[ qw/ getting_started getting-started index.html /],
);
@@ -797,9 +794,9 @@ $exportPath->rmtree;
@shouldExist = map { Path::Class::File->new($exportPath, @{$_})->absolute->stringify } @createdFiles;
$exportPath->recurse( callback => sub { my $o = shift; $o->is_dir ? return : push @doExist, $o->absolute->stringify } );
-cmp_deeply(sort @shouldExist, sort @doExist, "exportAsHtml on grandchild writes correct files");
-is($success, 1, "exportAsHtml on grandchild returns true");
-like($message, qr/Exported 1 pages/, "exportAsHtml on grandchild returns correct message");
+is($@, '', 'exportAsHtml on grandchild does not throw an exception');
+cmp_bag(\@shouldExist, \@doExist, "... writes correct files");
+like($message, qr/Exported 1 pages/, "... returns correct message");
$exportPath->rmtree;
@doExist = ();
@@ -807,12 +804,12 @@ $exportPath->rmtree;
# fiddle with the isExportable setting and make sure appropriate files are
# written
$home->update({ isExportable => 0 });
-($success, $message) = $home->exportAsHtml( { userId => 3, depth => 99, quiet => 1 } );
+eval { ($message) = $home->exportAsHtml( { userId => 3, depth => 99, quiet => 1 } ) };
@shouldExist = ();
-is(@shouldExist, @doExist, "exportAsHtml on nonexportable home doesn't write anything");
-is($success, 1, "exportAsHtml on nonexportable home returns true (but doesn't do anything)");
-like($message, qr/Exported 0 pages/, "exportAsHtml on nonexportable home returns correct message");
+is($@, '', 'exportAsHtml on nonexportable home does not throw an exception');
+is(@shouldExist, @doExist, "... doesn't write anything");
+like($message, qr/Exported 0 pages/, "... returns correct message");
# restore the original setting
$home->update({ isExportable => 1 });
@@ -825,7 +822,7 @@ $exportPath->rmtree;
@doExist = ();
$gettingStarted->update({ isExportable => 0 });
-($success, $message) = $home->exportAsHtml( { userId => 3, depth => 99, quiet => 1 } );
+eval { ($message) = $home->exportAsHtml( { userId => 3, depth => 99, quiet => 1 } ) };
# since getting-started isn't exportable, it shouldn't be written. remove it
# and its descendants from the list.
@@ -864,9 +861,9 @@ push @createdFiles,
@shouldExist = map { Path::Class::File->new($exportPath, @{$_})->absolute->stringify } @createdFiles;
$exportPath->recurse( callback => sub { my $o = shift; $o->is_dir ? return : push @doExist, $o->absolute->stringify } );
-cmp_bag(\@doExist, \@shouldExist, "exportAsHtml on home with non-exportable getting-started writes correct files");
-is($success, 1, "exportAsHtml on home with non-exportable getting-started returns true");
-like($message, qr/Exported $numberCreated pages/, "exportAsHtml on home with non-exportable getting-started returns correct message");
+is($@, '', 'exportAsHtml on home with non-exportable getting-started writes correct files');
+cmp_bag(\@doExist, \@shouldExist, "... writes correct files");
+like($message, qr/Exported $numberCreated pages/, "... returns correct message");
# restore the original setting
$gettingStarted->update({ isExportable => 1 });
@@ -904,10 +901,8 @@ $exportPath->rmtree;
$config->delete('exportPath');
# undefined exportPath
-eval { ($success, $message) = $home->exportAsHtml( { userId => 3, depth => 99 } ) };
-is($@, '', "exportAsHtml catches undefined exportPath exception");
-is($success, 0, "exportAsHtml returns 0 for undefined exportPath");
-is($message, 'exportPath must be defined and not ""', "exportAsHtml returns correct message for undefined exportPath");
+eval { ($message) = $home->exportAsHtml( { userId => 3, depth => 99 } ) };
+is($@, 'exportPath must be defined and not ""', "exportAsHtml catches undefined exportPath exception");
SKIP: {
skip 'Root will cause this test to fail since it does not obey file permissions', 3
@@ -917,19 +912,15 @@ SKIP: {
chmod 0000, $tempDirectory;
$config->set('exportPath', $inaccessibleDirectory->stringify);
- eval { ($success, $message) = $home->exportAsHtml( { userId => 3, depth => 99 } ) };
- is($@, '', "exportAsHtml catches inaccessible exportPath ");
- is($success, 0, "exportAsHtml returns 0 for inaccessible exportPath");
- is($message, "can't create exportPath " . $inaccessibleDirectory->stringify, "exportAsHtml returns correct message for inaccessible exportPath");
+ eval { ($message) = $home->exportAsHtml( { userId => 3, depth => 99 } ) };
+ is($@, "can't create exportPath " . $inaccessibleDirectory->stringify, "exportAsHtml catches inaccessible exportPath ");
}
# exportPath is a file, not a directory
$config->set('exportPath', $exportPathFile);
-eval { ($success, $message) = $home->exportAsHtml( { userId => 3, depth => 99 } ) };
-is($@, '', "exportAsHtml catches exportPath is file exception");
-is($success, 0, "exportAsHtml returns 0 if exportPath is a file");
-is($message, "$exportPathFile isn't a directory", "exportAsHtml returns correct message if exportPath is a file");
+eval { ($message) = $home->exportAsHtml( { userId => 3, depth => 99 } ) };
+is($@, "$exportPathFile isn't a directory", "exportAsHtml catches exportPath is file exception");
$config->set('exportPath', $inaccessibleDirectory->stringify);
SKIP: {
@@ -939,10 +930,8 @@ SKIP: {
# can't create export path
chmod 0000, $tempDirectory;
- eval { ($success, $message) = $home->exportAsHtml( { userId => 3, depth => 99 } ) };
- is($@, '', "exportAsHtml catches uncreatable exportPath exception");
- is($success, 0, "exportAsHtml returns 0 for uncreatable exportPath");
- is($message, "can't create exportPath $inaccessibleDirectory", "exportAsHtml returns correct message for uncreatable exportPath");
+ eval { ($message) = $home->exportAsHtml( { userId => 3, depth => 99 } ) };
+ is($@, "can't create exportPath $inaccessibleDirectory", "exportAsHtml catches uncreatable exportPath exception");
}
# user can't view asset
@@ -950,10 +939,8 @@ $home->update( { groupIdView => 3 } );
$session->http->setNoHeader(1);
chmod 0755, $tempDirectory;
-eval { ($success, $message) = $home->exportAsHtml( { userId => 1, depth => 99 } ) };
-is($@, '', "exportAsHtml catches unviewable asset exception");
-is($success, 0, "exportAsHtml returns 0 for unviewable asset");
-is($message, "can't view asset at URL /home", "exportAsHtml returns correct message for unviewable asset");
+eval { ($message) = $home->exportAsHtml( { userId => 1, depth => 99 } ) };
+is($@, "can't view asset at URL /home", "exportAsHtml catches unviewable asset exception");
# fix viewing the asset
$home->update( { groupIdView => 7 } );
@@ -973,10 +960,10 @@ $uploadsUrl = $config->get('uploadsURL');
$exportPath->rmtree;
-($success, $message) = $home->exportAsHtml( { userId => 3, depth => 99, extrasUploadAction => 'symlink', quiet => 1 } );
+eval { ($message) = $home->exportAsHtml( { userId => 3, depth => 99, extrasUploadAction => 'symlink', quiet => 1 } ) };
-is($success, 1, "exportAsHtml when linking extras and uploads returns true");
-like($message, qr/Exported $numberCreatedAll pages/, "exportAsHtml when linking extras and uploads returns correct message");
+is($@, '', "exportAsHtml when linking extras and uploads does not throw an exception");
+like($message, qr/Exported $numberCreatedAll pages/, "... returns correct message");
$extrasSymlink = Path::Class::File->new($exportPath, $extrasUrl);
$uploadsSymlink = Path::Class::File->new($exportPath, $uploadsUrl);
@@ -988,12 +975,12 @@ ok(-e $uploadsSymlink->absolute->stringify, "exportAsHtml wr
is($uploadsPath, readlink $uploadsSymlink->absolute->stringify, "exportAsHtml uploads symlink points to right place");
# next, make sure the root URL symlinking works.
-($success, $message) = $home->exportAsHtml( { userId => 3, depth => 99, rootUrlAction => 'symlink', quiet => 1 } );
+eval { ($message) = $home->exportAsHtml( { userId => 3, depth => 99, rootUrlAction => 'symlink', quiet => 1 } ) };
my $rootUrlSymlink = Path::Class::File->new($exportPath, 'index.html');
-is($success, 1, 'exportAsHtml when linking root URL returns true');
-like($message, qr/Exported $numberCreatedAll pages/, "exportAsHtml when linking root URL returns correct message");
-ok(-e $rootUrlSymlink->absolute->stringify, "exportAsHtml writes root URL symlink");
-is($home->exportGetUrlAsPath->absolute->stringify, readlink $rootUrlSymlink->absolute->stringify, "exportAsHtml root URL symlink points to right place");
+is($@, '', 'exportAsHtml does not throw an error when linking root URL');
+like($message, qr/Exported $numberCreatedAll pages/, "... returns correct message");
+ok(-e $rootUrlSymlink->absolute->stringify, "... writes root URL symlink");
+is($home->exportGetUrlAsPath->absolute->stringify, readlink $rootUrlSymlink->absolute->stringify, "... root URL symlink points to right place");
#----------------------------------------------------------------------------