100 lines
3.9 KiB
Perl
100 lines
3.9 KiB
Perl
#-------------------------------------------------------------------
|
|
# WebGUI is Copyright 2001-2012 Plain Black Corporation.
|
|
#-------------------------------------------------------------------
|
|
# Please read the legal notices (docs/legal.txt) and the license
|
|
# (docs/license.txt) that came with this distribution before using
|
|
# this software.
|
|
#-------------------------------------------------------------------
|
|
# http://www.plainblack.com info@plainblack.com
|
|
#-------------------------------------------------------------------
|
|
|
|
use FindBin;
|
|
use strict;
|
|
use File::Spec;
|
|
use lib "$FindBin::Bin/../../lib";
|
|
|
|
use Test::MockTime qw/:all/; ##Must be loaded before all other code
|
|
use WebGUI::Test;
|
|
use WebGUI::Session;
|
|
use Test::More;
|
|
use WebGUI::Asset::Wobject::Layout;
|
|
use WebGUI::Asset;
|
|
|
|
my $session = WebGUI::Test->session;
|
|
|
|
# Do our work in the import node
|
|
my $node = WebGUI::Asset->getImportNode($session);
|
|
|
|
################################################################
|
|
#
|
|
# getContentLastModifiedBy
|
|
#
|
|
################################################################
|
|
|
|
my $revised_user1 = WebGUI::User->new($session, 'new');
|
|
my $revised_user2 = WebGUI::User->new($session, 'new');
|
|
WebGUI::Test->addToCleanup($revised_user1, $revised_user2 );
|
|
$session->user({userId => 3});
|
|
set_relative_time(-600);
|
|
WebGUI::Test->addToCleanup(sub { restore_time(); });
|
|
my $versionTag = WebGUI::VersionTag->getWorking($session);
|
|
my $page = $node->addChild({
|
|
className => 'WebGUI::Asset::Wobject::Layout',
|
|
}, undef, 12);
|
|
$session->user({user => $revised_user1});
|
|
my $snip1 = $page->addChild({
|
|
className => 'WebGUI::Asset::Snippet',
|
|
}, undef, 14);
|
|
|
|
set_relative_time(-500);
|
|
$session->user({user => $revised_user2});
|
|
my $snip2 = $page->addChild({
|
|
className => 'WebGUI::Asset::Snippet',
|
|
}, undef, 16);
|
|
|
|
$page = $page->cloneFromDb;
|
|
$snip1 = $snip1->cloneFromDb;
|
|
$snip2 = $snip2->cloneFromDb;
|
|
WebGUI::Test->addToCleanup($page);
|
|
is $page->getContentLastModifiedBy, $snip2->get('revisedBy'), 'getContentLastModifiedBy returns revisedBy for most recent child asset';
|
|
is $page->getContentLastModifiedBy, $revised_user2->userId, '... real userId check';
|
|
$session->user({user => $revised_user1});
|
|
|
|
set_relative_time(-100);
|
|
|
|
$snip1 = $snip1->addRevision({ title => 'titular', }, 18);
|
|
is $page->getContentLastModifiedBy, $revised_user1->userId, '... check that a new revision tracks';
|
|
|
|
# inheriting mobileStyleTemplateId and mobileTemplateId; from ``Mobile template is not being inherited (#12246)''
|
|
|
|
$session->setting->set('useMobileStyle', 1);
|
|
$session->setting->set('anonymousRegistration', 1);
|
|
|
|
my $importNode = WebGUI::Asset->getImportNode($session);
|
|
my $template1 = $importNode->addChild({className=>"WebGUI::Asset::Template", namespace => 'style', });
|
|
my $template2 = $importNode->addChild({className=>"WebGUI::Asset::Template", namespace => 'Layout', });
|
|
|
|
my $mobileStyleTemplateId = $template1->getId;
|
|
my $mobileTemplateId = $template2->getId;
|
|
|
|
my $mobile_page = $importNode->addChild({
|
|
className => "WebGUI::Asset::Wobject::Layout",
|
|
mobileStyleTemplateId => $mobileStyleTemplateId,
|
|
mobileTemplateId => $mobileTemplateId, }
|
|
);
|
|
WebGUI::Test->addToCleanup($template1, $template2);
|
|
|
|
my $tag = WebGUI::VersionTag->getWorking($session);
|
|
$tag->commit;
|
|
WebGUI::Test->addToCleanup($tag);
|
|
|
|
my $mech = WebGUI::Test::Mechanize->new( config => WebGUI::Test->config );
|
|
$mech->get_ok('/');
|
|
$mech->session->user({userId => 3});
|
|
$mech->get_ok($mobile_page->getUrl('func=add;userId=3;className=WebGUI::Asset::Wobject::Layout'));
|
|
my ($mobileTemplateInput) = $mech->find_all_inputs(name => 'mobileTemplateId');
|
|
is $mobileTemplateInput->value, $mobileTemplateId, 'child PageLayout inherited parents mobileTemplateId';
|
|
my ($mobileStyleTemplateInput) = $mech->find_all_inputs(name => 'mobileStyleTemplateId');
|
|
is $mobileStyleTemplateInput->value, $mobileStyleTemplateId, 'child PageLayout inherited parents mobileStyleTemplateId';
|
|
|
|
done_testing;
|