Merge commit 'v7.10.15' into 8

Conflicts:
	docs/gotcha.txt
	docs/previousVersion.sql
	docs/templates.txt
	lib/WebGUI.pm
	lib/WebGUI/Asset.pm
	lib/WebGUI/Asset/Event.pm
	lib/WebGUI/Asset/File.pm
	lib/WebGUI/Asset/MapPoint.pm
	lib/WebGUI/Asset/RichEdit.pm
	lib/WebGUI/Asset/Sku/Product.pm
	lib/WebGUI/Asset/Snippet.pm
	lib/WebGUI/Asset/Story.pm
	lib/WebGUI/Asset/Template.pm
	lib/WebGUI/Asset/Template/TemplateToolkit.pm
	lib/WebGUI/Asset/Wobject/Calendar.pm
	lib/WebGUI/Asset/Wobject/Carousel.pm
	lib/WebGUI/Asset/Wobject/Collaboration.pm
	lib/WebGUI/Asset/Wobject/Dashboard.pm
	lib/WebGUI/Asset/Wobject/DataForm.pm
	lib/WebGUI/Asset/Wobject/Folder.pm
	lib/WebGUI/Asset/Wobject/Map.pm
	lib/WebGUI/Asset/Wobject/Search.pm
	lib/WebGUI/Asset/Wobject/Shelf.pm
	lib/WebGUI/Asset/Wobject/StockData.pm
	lib/WebGUI/Asset/Wobject/StoryTopic.pm
	lib/WebGUI/Asset/Wobject/SyndicatedContent.pm
	lib/WebGUI/Asset/Wobject/Thingy.pm
	lib/WebGUI/Asset/Wobject/WeatherData.pm
	lib/WebGUI/AssetClipboard.pm
	lib/WebGUI/AssetCollateral/DataForm/Entry.pm
	lib/WebGUI/AssetExportHtml.pm
	lib/WebGUI/AssetLineage.pm
	lib/WebGUI/AssetMetaData.pm
	lib/WebGUI/AssetTrash.pm
	lib/WebGUI/AssetVersioning.pm
	lib/WebGUI/Auth.pm
	lib/WebGUI/Cache/CHI.pm
	lib/WebGUI/Content/AssetManager.pm
	lib/WebGUI/Fork/ProgressBar.pm
	lib/WebGUI/Form/JsonTable.pm
	lib/WebGUI/Form/TimeField.pm
	lib/WebGUI/Form/Zipcode.pm
	lib/WebGUI/Group.pm
	lib/WebGUI/International.pm
	lib/WebGUI/Macro/AssetProxy.pm
	lib/WebGUI/Macro/FileUrl.pm
	lib/WebGUI/Operation/SSO.pm
	lib/WebGUI/Operation/User.pm
	lib/WebGUI/Role/Asset/Subscribable.pm
	lib/WebGUI/Shop/Cart.pm
	lib/WebGUI/Shop/Transaction.pm
	lib/WebGUI/Shop/TransactionItem.pm
	lib/WebGUI/Test.pm
	lib/WebGUI/URL/Content.pm
	lib/WebGUI/URL/Uploads.pm
	lib/WebGUI/User.pm
	lib/WebGUI/Workflow/Activity/ExtendCalendarRecurrences.pm
	lib/WebGUI/Workflow/Activity/SendNewsletters.pm
	lib/WebGUI/i18n/English/Asset.pm
	lib/WebGUI/i18n/English/WebGUI.pm
	sbin/installClass.pl
	sbin/rebuildLineage.pl
	sbin/search.pl
	sbin/testEnvironment.pl
	t/Asset/Asset.t
	t/Asset/AssetClipboard.t
	t/Asset/AssetLineage.t
	t/Asset/AssetMetaData.t
	t/Asset/Event.t
	t/Asset/File.t
	t/Asset/File/Image.t
	t/Asset/Post/notification.t
	t/Asset/Sku.t
	t/Asset/Story.t
	t/Asset/Template.t
	t/Asset/Wobject/Collaboration/templateVariables.t
	t/Asset/Wobject/Collaboration/unarchiveAll.t
	t/Asset/Wobject/Shelf.t
	t/Auth.t
	t/Macro/EditableToggle.t
	t/Macro/FilePump.t
	t/Shop/Cart.t
	t/Shop/Transaction.t
	t/Storage.t
	t/User.t
	t/Workflow.t
This commit is contained in:
Doug Bell 2011-05-13 18:15:11 -05:00
commit 277faae8a1
783 changed files with 32041 additions and 25495 deletions

View file

@ -29,15 +29,13 @@ my $session = WebGUI::Test->session;
#----------------------------------------------------------------------------
# Tests
plan tests => 20;
plan tests => 21;
#----------------------------------------------------------------------------
# put your tests here
my $class = 'WebGUI::Asset::Wobject::StoryTopic';
my $versionTag = WebGUI::VersionTag->getWorking($session);
my $archive = WebGUI::Test->asset->addChild({className => 'WebGUI::Asset::Wobject::StoryArchive', title => 'My Stories', url => '/home/mystories'});
my $now = time();
@ -47,8 +45,6 @@ my $yesterday = $now-24*3600;
my $newFolder = $archive->getFolder($yesterday);
my $creationDateSth = $session->db->prepare('update asset set creationDate=? where assetId=?');
$versionTag->commit;
WebGUI::Test->addToCleanup($versionTag);
my $pastStory = $newFolder->addChild({ className => 'WebGUI::Asset::Story', title => "Yesterday is history", keywords => 'andy,norton'});
$creationDateSth->execute([$yesterday, $pastStory->getId]);
@ -71,7 +67,6 @@ STORY: foreach my $name (@characters) {
$storyHandler->{bogs}->update({subtitle => 'drinking his food through a straw'});
my $topicTag = WebGUI::VersionTag->getWorking($session);
my $topic = WebGUI::Test->asset->addChild({
className => 'WebGUI::Asset::Wobject::StoryTopic',
title => 'Popular inmates in Shawshank Prison',
@ -85,9 +80,6 @@ $topic->update({
storiesShort => 3,
});
$topicTag->commit;
WebGUI::Test->addToCleanup($topicTag);
$topic = $topic->cloneFromDb;
################################################################
@ -96,6 +88,39 @@ $topic = $topic->cloneFromDb;
#
################################################################
# When it's okay that the variables we get will have extra keys and
# values beyond what we're checking for, we'll use this function.
sub cmp_variable_loop {
my ($got, $expected, $name) = @_;
local $Test::Builder::Level = $Test::Builder::Level + 1;
my $sg = @$got;
my $se = @$expected;
unless (@$got == @$expected) {
fail($name);
diag(<<EOM);
Arrayrefs are not the same length.
got : $sg
expect : $se
EOM
return 0;
}
my $failed;
for my $i (0..$#$got) {
my $g = $got->[$i];
my $e = $expected->[$i];
my ($ok, $stack) = Test::Deep::cmp_details($g, superhashof($e));
unless ($ok) {
unless ($failed) {
fail($name);
$failed = 1;
}
diag(Test::Deep::deep_diag($stack));
}
}
return $failed ? 0 : pass($name);
}
my $templateVars;
$templateVars = $topic->viewTemplateVariables();
@ -108,7 +133,7 @@ cmp_deeply(
}),
'viewTemplateVars: RSS and Atom feed template variables'
);
cmp_deeply(
cmp_variable_loop(
$templateVars->{story_loop},
[
{
@ -126,7 +151,8 @@ cmp_deeply(
);
ok(
exists $templateVars->{topStoryTitle}
exists $templateVars->{topStory}
&& exists $templateVars->{topStoryTitle}
&& exists $templateVars->{topStoryUrl}
&& exists $templateVars->{topStoryCreationDate}
&& exists $templateVars->{topStorySubtitle},
@ -136,7 +162,7 @@ ok(! $templateVars->{standAlone}, 'viewTemplateVars: not in standalone mode');
$topic->{_standAlone} = 1;
$templateVars = $topic->viewTemplateVariables();
cmp_deeply(
cmp_variable_loop(
$templateVars->{story_loop},
[
{
@ -168,6 +194,13 @@ cmp_deeply(
'viewTemplateVars has right number and contents in the story_loop in standalone mode. Top story not present in story_loop'
);
cmp_deeply($templateVars->{topStory}, superhashof({
title => 'bogs',
subtitle => 'drinking his food through a straw',
creationDate => $now,
}));
is($templateVars->{topStoryTitle}, 'bogs', '... topStoryTitle');
is(
$templateVars->{topStorySubtitle},
@ -243,7 +276,7 @@ $topic->update({
storiesShort => 3,
});
$templateVars = $topic->viewTemplateVariables;
cmp_deeply(
cmp_variable_loop(
$templateVars->{story_loop},
[
{
@ -326,7 +359,7 @@ $topic->update( { storySortOrder => 'Alphabetically' } );
$templateVars = $topic->viewTemplateVariables();
cmp_deeply(
cmp_variable_loop(
[
{
title => $templateVars->{topStoryTitle},
@ -370,9 +403,7 @@ my $emptyarchive = WebGUI::Test->asset->addChild({
url => '/home/badstories',
keywords => 'aksjhgkja asgjhshs assajshhsg5',
});
WebGUI::Test->addToCleanup($emptyarchive); # blows up under the debugger...?
$versionTag->commit;
$emptyarchive->{_standAlone} = 1;
ok(eval { $emptyarchive->viewTemplateVariables() }, "viewTemplateVariables with _standAlone = 1 doesn't throw an error");