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:
commit
277faae8a1
783 changed files with 32041 additions and 25495 deletions
|
|
@ -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");
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue