Fix the RootTitle macro.

This commit is contained in:
Colin Kuskie 2010-01-27 21:38:12 -08:00
parent c1c4256d06
commit 193d30ec41
2 changed files with 11 additions and 15 deletions

View file

@ -12,6 +12,7 @@ package WebGUI::Macro::RootTitle;
use strict;
use WebGUI::Asset;
use WebGUI::Exception;
=head1 NAME
@ -40,9 +41,13 @@ sub process {
##Get my root.
$lineage = substr($lineage,0,12);
my $root = WebGUI::Asset->newByLineage($session,$lineage);
my $root = eval { WebGUI::Asset->newByLineage($session,$lineage); };
if (Exception::Class->caught()) {
$session->log->error('RootTitle macro: '.$@);
return "";
}
return "" unless defined $root;
return $root->get("title");
}

View file

@ -32,6 +32,7 @@ my $session = WebGUI::Test->session;
my $versionTag = WebGUI::VersionTag->getWorking($session);
$versionTag->set({name=>"Adding assets for RootTitle tests"});
addToCleanup($versionTag);
my $root = WebGUI::Asset->getRoot($session);
my %properties_A = (
@ -117,7 +118,7 @@ my $asset_ = $root->addChild(\%properties__, $properties__{id});
$versionTag->commit;
my $origLineage = $asset_->get('lineage');
my $origLineage = $asset_->lineage;
my $newLineage = substr $origLineage, 0, length($origLineage)-1;
$session->db->write('update asset set lineage=? where assetId=?',[$newLineage, $asset_->getId]);
@ -160,16 +161,11 @@ my @testSets = (
);
my $numTests = scalar @testSets;
$numTests += 2;
$numTests += 1;
plan tests => $numTests;
my $macro = 'WebGUI::Macro::RootTitle';
my $loaded = use_ok($macro);
SKIP: {
skip "Unable to load $macro", $numTests-1 unless $loaded;
use WebGUI::Macro::RootTitle;
is(
WebGUI::Macro::RootTitle::process($session),
@ -184,11 +180,6 @@ foreach my $testSet (@testSets) {
is($output, $testSet->{title}, $testSet->{comment});
}
}
END { ##Clean-up after yourself, always
$session->db->write('update asset set lineage=? where assetId=?',[$origLineage, $asset_->getId]);
if (defined $versionTag and ref $versionTag eq 'WebGUI::VersionTag') {
$versionTag->rollback;
}
}