Merge branch 'master' into 8-merge
Conflicts: docs/gotcha.txt lib/WebGUI.pm lib/WebGUI/Asset.pm lib/WebGUI/Asset/File/GalleryFile/Photo.pm lib/WebGUI/Asset/Post.pm lib/WebGUI/Asset/Story.pm lib/WebGUI/Asset/Template.pm lib/WebGUI/Asset/Wobject/Calendar.pm lib/WebGUI/Asset/Wobject/GalleryAlbum.pm lib/WebGUI/Asset/Wobject/Navigation.pm lib/WebGUI/AssetLineage.pm lib/WebGUI/AssetTrash.pm lib/WebGUI/Config.pm lib/WebGUI/Form/Template.pm lib/WebGUI/Group.pm lib/WebGUI/Inbox.pm lib/WebGUI/Workflow/Activity/DeleteExpiredSessions.pm lib/WebGUI/Workflow/Activity/TrashExpiredEvents.pm sbin/testEnvironment.pl t/AdSpace.t t/AdSpace/Ad.t t/Asset/Asset.t t/Asset/AssetExportHtml.t t/Asset/AssetLineage.t t/Asset/EMSSubmissionForm.t t/Asset/Event.t t/Asset/File/GalleryFile/Photo/00base.t t/Asset/File/GalleryFile/Photo/comment.t t/Asset/File/GalleryFile/Photo/download.t t/Asset/File/GalleryFile/Photo/edit.t t/Asset/File/GalleryFile/Photo/exif.t t/Asset/File/GalleryFile/Photo/makeResolutions.t t/Asset/File/GalleryFile/Photo/makeShortcut.t t/Asset/File/Image/setfile.t t/Asset/File/setfile.t t/Asset/Post.t t/Asset/Post/Thread/getAdjacentThread.t t/Asset/Sku.t t/Asset/Sku/ProductCollateral.t t/Asset/Story.t t/Asset/Template.t t/Asset/Template/HTMLTemplateExpr.t t/Asset/Wobject/Gallery/00base.t t/Asset/Wobject/GalleryAlbum/00base.t t/Asset/Wobject/GalleryAlbum/ajax.t t/Asset/Wobject/GalleryAlbum/delete.t t/Asset/Wobject/Matrix.t t/Asset/Wobject/StoryArchive.t t/Asset/Wobject/Survey/ExpressionEngine.t t/Asset/Wobject/Survey/Reports.t t/AssetAspect/RssFeed.t t/Auth/mech.t t/Config.t t/Group.t t/Help/isa.t t/International.t t/Mail/Send.t t/Operation/AdSpace.t t/Operation/Auth.t t/Pluggable.t t/Session.t t/Session/DateTime.t t/Session/ErrorHandler.t t/Session/Scratch.t t/Session/Stow.t t/Shop/Cart.t t/Shop/Pay.t t/Shop/PayDriver/ITransact.t t/Shop/PayDriver/PayPalStd.t t/Shop/Ship.t t/Shop/ShipDriver.t t/Shop/TaxDriver/EU.t t/Shop/TaxDriver/Generic.t t/Shop/Transaction.t t/Shop/Vendor.t t/VersionTag.t t/Workflow/Activity/ArchiveOldStories.t t/Workflow/Activity/ExpireIncompleteSurveyResponses.t t/lib/WebGUI/Test.pm
This commit is contained in:
commit
babfa74209
238 changed files with 4557 additions and 1287 deletions
130
t/AdSpace/Ad.t
130
t/AdSpace/Ad.t
|
|
@ -45,7 +45,6 @@ plan tests => $numTests;
|
|||
my $session = WebGUI::Test->session;
|
||||
my $ad;
|
||||
my ($richAd, $textAd, $imageAd, $nonAd, $setAd);
|
||||
my $adSpace;
|
||||
my $imageStorage = WebGUI::Storage->create($session);
|
||||
WebGUI::Test->addToCleanup($imageStorage);
|
||||
$imageStorage->addFileFromScalar('foo.bmp', 'This is not really an image');
|
||||
|
|
@ -213,3 +212,132 @@ END {
|
|||
$adSpace->delete;
|
||||
}
|
||||
}
|
||||
|
||||
$richAd = WebGUI::AdSpace::Ad->create($session, $adSpace->getId);
|
||||
$richAd->set({
|
||||
type => 'rich',
|
||||
richMedia => 'This is rich, ^@;'
|
||||
});
|
||||
my $renderedAd = $richAd->get('renderedAd');
|
||||
my $userName = $session->user->username;
|
||||
like($renderedAd, qr/This is rich, $userName/, 'Rich media ads render macros');
|
||||
|
||||
##In this series of tests, we'll render a text ad and then pick it apart and make
|
||||
##sure that all the requisite components are in there.
|
||||
$adSpace->set({
|
||||
width => 102,
|
||||
height => 202
|
||||
});
|
||||
|
||||
$textAd = WebGUI::AdSpace::Ad->create($session, $adSpace->getId);
|
||||
$textAd->set({
|
||||
type => 'text',
|
||||
borderColor => 'black',
|
||||
backgroundColor => 'white',
|
||||
textColor => 'blue',
|
||||
title => 'This is a text ad',
|
||||
adText => 'Will hack for Gooey dolls.',
|
||||
});
|
||||
my $renderedTextAd = $textAd->get('renderedAd');
|
||||
|
||||
my $textP = HTML::TokeParser->new(\$renderedTextAd);
|
||||
|
||||
##Outer div checks
|
||||
my $token = $textP->get_tag("div");
|
||||
my $style = $token->[1]{style};
|
||||
like($style, qr/height:200/, 'adSpace height rendered correctly');
|
||||
like($style, qr/width:100/, 'adSpace width rendered correctly');
|
||||
like($style, qr/border:solid black/, 'ad borderColor rendered correctly');
|
||||
|
||||
##Link checks
|
||||
$token = $textP->get_tag("a");
|
||||
my $href = $token->[1]{onclick};
|
||||
like($href, qr/op=clickAd/, 'ad link has correct operation');
|
||||
|
||||
my $adId = $textAd->getId;
|
||||
like($href, qr/id=\Q$adId\E/, 'ad link has correct ad id');
|
||||
|
||||
$style = $token->[1]{style};
|
||||
like($style, qr/background-color:white/, 'ad link background is white');
|
||||
|
||||
$token = $textP->get_tag("span");
|
||||
$style = $token->[1]{style};
|
||||
like($style, qr/color:blue/, 'ad title text foreground is blue');
|
||||
|
||||
$token = $textP->get_tag("span");
|
||||
$style = $token->[1]{style};
|
||||
like($style, qr/color:blue/, 'ad title text foreground is blue');
|
||||
|
||||
my $adText = $textP->get_trimmed_text('/span');
|
||||
is($adText, $textAd->get('adText'), 'ad text is correct');
|
||||
|
||||
##Ditto for the image ad
|
||||
$adSpace->set({
|
||||
width => 250,
|
||||
height => 250
|
||||
});
|
||||
|
||||
$imageAd = WebGUI::AdSpace::Ad->create($session, $adSpace->getId);
|
||||
$imageAd->set({
|
||||
type => 'image',
|
||||
title => 'This is an image ad',
|
||||
storageId => $imageStorage->getId,
|
||||
});
|
||||
my $renderedImageAd = $imageAd->get('renderedAd');
|
||||
|
||||
my $textP = HTML::TokeParser->new(\$renderedImageAd);
|
||||
|
||||
##Outer div checks
|
||||
my $token = $textP->get_tag("div");
|
||||
my $style = $token->[1]{style};
|
||||
like($style, qr/height:250/, 'adSpace height rendered correctly, image');
|
||||
like($style, qr/width:250/, 'adSpace width rendered correctly, image');
|
||||
|
||||
##Link checks
|
||||
$token = $textP->get_tag("a");
|
||||
my $href = $token->[1]{onclick};
|
||||
like($href, qr/op=clickAd/, 'ad link has correct operation, image');
|
||||
|
||||
$adId = $imageAd->getId;
|
||||
like($href, qr/id=\Q$adId\E/, 'ad link has correct ad id, image');
|
||||
|
||||
$token = $textP->get_tag("img");
|
||||
$style = $token->[1]{src};
|
||||
is($style, $imageStorage->getUrl($imageStorage->getFiles->[0]), 'ad image points at correct file');
|
||||
$style = $token->[1]{alt};
|
||||
is($style, $imageAd->get('title'), 'ad title matches, image');
|
||||
|
||||
my $nonAdProperties = {
|
||||
type => 'nothing',
|
||||
title => 'This ad will never render',
|
||||
};
|
||||
$nonAd = WebGUI::AdSpace::Ad->create($session, $adSpace->getId, $nonAdProperties);
|
||||
my $renderedNonAd = $nonAd->get('renderedAd');
|
||||
|
||||
is($renderedNonAd, undef, 'undefined ad types are not rendered');
|
||||
|
||||
$nonAd->delete;
|
||||
|
||||
$nonAd = WebGUI::AdSpace::Ad->new($session, 'nonExistantId');
|
||||
is($nonAd, undef, 'requesting a non-existant id via new returns undef');
|
||||
|
||||
my $setAd = WebGUI::AdSpace::Ad->create($session, $adSpace->getId, {isActive => 1});
|
||||
is($setAd->get('isActive'), 1, 'set isActive true during instantiation');
|
||||
$setAd->set({isActive=>0});
|
||||
is($setAd->get('isActive'), 0, 'set isActive false during instantiation');
|
||||
$setAd->delete;
|
||||
|
||||
my $setAd = WebGUI::AdSpace::Ad->create($session, $adSpace->getId, {priority => 1});
|
||||
is($setAd->get('priority'), 1, 'set priority=1 during instantiation');
|
||||
$setAd->set({priority=>0});
|
||||
is($setAd->get('priority'), 0, 'set priority=0');
|
||||
|
||||
$setAd->set({ title => 'myTitle', url => 'http://www.nowhere.com', adText => 'Performing a valuable service for the community'});
|
||||
is($setAd->get('url'), 'http://www.nowhere.com', 'set: url');
|
||||
is($setAd->get('adText'), 'Performing a valuable service for the community', 'set: adText');
|
||||
|
||||
$setAd->set({ url => '', adText => ''});
|
||||
is($setAd->get('url'), '', 'set: clearing url');
|
||||
is($setAd->get('adText'), '', 'set: clearing adText');
|
||||
|
||||
#vim:ft=perl
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue