From bb4d14d9442a9dc05e92c7661fecdd241ffe9bd4 Mon Sep 17 00:00:00 2001 From: Bart Jol Date: Fri, 2 Oct 2009 15:55:02 +0200 Subject: [PATCH 01/14] Language override file changes --- lib/WebGUI/Content/SetLanguage.pm | 83 +++++++++++++++++++++++++++++++ lib/WebGUI/International.pm | 2 +- lib/WebGUI/Session/Scratch.pm | 50 +++++++++++++++++++ t/Content/SetLanguage.t | 55 ++++++++++++++++++++ t/International.t | 31 +++++++++++- t/Session/Scratch.t | 12 ++++- 6 files changed, 230 insertions(+), 3 deletions(-) create mode 100644 lib/WebGUI/Content/SetLanguage.pm create mode 100644 t/Content/SetLanguage.t diff --git a/lib/WebGUI/Content/SetLanguage.pm b/lib/WebGUI/Content/SetLanguage.pm new file mode 100644 index 000000000..651ad10e0 --- /dev/null +++ b/lib/WebGUI/Content/SetLanguage.pm @@ -0,0 +1,83 @@ +package WebGUI::Content::SetLanguage; + +=head1 LEGAL + + ------------------------------------------------------------------- + WebGUI is Copyright 2001-2009 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 + ------------------------------------------------------------------- + +=cut + + +use strict; +use WebGUI::Session; +use WebGUI::International; + +=head1 NAME + +Package WebGUI::Content::SetLanguage + +=head1 DESCRIPTION + +Sets or delete an scratch variable that overrides the profile field language + +=head1 SYNOPSIS + +use WebGUI::Content::SetLanguage; +WebGUI::Content::SetLanguage::handler(); + +=head1 SUBROUTINES + +These subroutines are available from this package: + +handler + +=cut + +#------------------------------------------------------------- + +=head2 handler ( session, op, setLanguage ) + +sets or delete scratch variable in a session and returns undef + +=head3 session + +The current WebGUI::Session object. + +=head3 op + +op should be setLanguage to call the handler + +=head3 language + +language should be an installed language or delete + +=cut + + +sub handler { + my ($session) = @_; + return undef unless $session->form->get('op') eq 'setLanguage'; + my $language = $session->form->get('language'); + #check whether a language has been given in the url + if (!$language) { + $session->log->error('There is no language given to this method'); + return undef; + } + #make it possible to delete the language scratch variable from the session + if ($language eq 'delete' ) { + $session->scratch->removeLanguageOverride; + return undef; + } + #set a scratch variable language or throw error if language is not installed + else { + return $session->scratch->setLanguageOverride($language); + } +} +1; diff --git a/lib/WebGUI/International.pm b/lib/WebGUI/International.pm index 900fb9160..942517db0 100644 --- a/lib/WebGUI/International.pm +++ b/lib/WebGUI/International.pm @@ -284,7 +284,7 @@ Specify a default language. Defaults to user preference or "English". sub new { my ($class, $session, $namespace, $language) = @_; $namespace ||= 'WebGUI'; - $language ||= $session->user->profileField('language'); + $language ||= $session->scratch->getLanguageOverride() || $session->user->profileField('language'); my $self = bless { _session => $session, diff --git a/lib/WebGUI/Session/Scratch.pm b/lib/WebGUI/Session/Scratch.pm index fb6add7d3..d069fd694 100644 --- a/lib/WebGUI/Session/Scratch.pm +++ b/lib/WebGUI/Session/Scratch.pm @@ -15,6 +15,7 @@ package WebGUI::Session::Scratch; =cut use strict; +use WebGUI::International; =head1 NAME @@ -160,6 +161,19 @@ sub get { return $self->{_data}{$var}; } +#------------------------------------------------------------------- + +=head2 getLanguageOverride () + +Retrieves the language of the session scratch + +=cut + +sub getLanguageOverride { + my $self = shift; + my $languageOverride = $self->session->scratch->get('language'); + return $languageOverride; +} #------------------------------------------------------------------- @@ -180,7 +194,18 @@ sub new { bless {_session=>$session, _data=>$data}, $class; } +#------------------------------------------------------------------- +=head2 removeLanguageOverride() + +Removes the language scratch variable from the session + +=cut + +sub removeLanguageOverride { + my $self = shift; + $self->session->scratch->delete('language'); +} #------------------------------------------------------------------- =head2 session ( ) @@ -220,5 +245,30 @@ sub set { $self->session->db->write("insert into userSessionScratch (sessionId, name, value) values (?,?,?) on duplicate key update value=VALUES(value)", [$self->session->getId, $name, $value]); } +#---------------------------------------------------------------------- + +=head2 setLanguageOverride ( language ) + +Sets a scratch variable language in the session if the language is installed + +=head3 language + +The language that should be set into the session + +=cut + +sub setLanguageOverride { + my $self = shift; + my $language = shift; + my $i18n = WebGUI::International->new($self->session); + if($i18n->getLanguages()->{$language}) { + $self->session->scratch->set("language",$language); + return undef; + } + else { + $self->session->log->error("Language $language is not installed in this site"); + return undef; + } +} 1; diff --git a/t/Content/SetLanguage.t b/t/Content/SetLanguage.t new file mode 100644 index 000000000..20f6978fd --- /dev/null +++ b/t/Content/SetLanguage.t @@ -0,0 +1,55 @@ +#------------------------------------------------------------------- +# WebGUI is Copyright 2001-2009 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 lib "$FindBin::Bin/../lib"; +use WebGUI::Test; +use WebGUI::Session; +use WebGUI::Content::SetLanguage; + +# load your modules here + +use Test::More tests => 5; # increment this value for each test you create + +my $session = WebGUI::Test->session; + +# put your tests here +my $formvariables = { + 'op' =>'setLanguage', + 'language' => 'English' +}; +#test 1 +$session->request->setup_body($formvariables); +WebGUI::Content::SetLanguage::handler($session); +is($session->scratch->getLanguageOverride, 'English', 'the language was not set'); +#test2 +$formvariables->{'language'} = 'delete'; +$session->request->setup_body($formvariables); +WebGUI::Content::SetLanguage::handler($session); +is($session->scratch->getLanguageOverride, undef, 'language delete should remove the scratch variable'); +#test3 +$formvariables->{'op'} = 'SetLanguage'; +$formvariables->{'language'} = 'English'; +$session->request->setup_body($formvariables); +WebGUI::Content::SetLanguage::handler($session); +is($session->scratch->getLanguageOverride, undef, 'Naming the method wrongly should not change anything'); +#test4 +$formvariables->{'op'} = 'setLanguage'; +$formvariables->{'language'} = 'MyImaginaryLanguageThatIsNotInstalled'; +$session->request->setup_body($formvariables); +WebGUI::Content::SetLanguage::handler($session); +is($session->scratch->getLanguageOverride, undef, 'Giving a non installed language should not change anything'); +#test5 +$formvariables->{'language'} = undef; +$session->request->setup_body($formvariables); +WebGUI::Content::SetLanguage::handler($session); +is($session->scratch->getLanguageOverride, undef, 'Passing an empty language variable should return undef'); + diff --git a/t/International.t b/t/International.t index 2ed665dda..b608efe59 100644 --- a/t/International.t +++ b/t/International.t @@ -16,12 +16,13 @@ use WebGUI::Session; use Test::More; # increment this value for each test you create use File::Copy; use File::Spec; +use WebGUI::Content::SetLanguage; my $session = WebGUI::Test->session; my $numTests = 1; ##For conditional load check my $langTests = 4; ##For language look-up tests -$numTests += 12 + $langTests; +$numTests += 20 + $langTests; plan tests => $numTests; @@ -50,6 +51,16 @@ is($i18n->get('topicName', 'WebGUI'), 'WebGUI', 'get: test manual namespace over installPigLatin(); +#tests for sub new +my $i18nNew1 = WebGUI::International->new($session); +is($i18nNew1->{_language}, 'English', 'Calling new without parameters should return object with language English'); +is($i18nNew1->{_namespace}, 'WebGUI', 'Calling without parameters should give namespace WebgUI'); +my $i18nNew2 = WebGUI::International->new($session, 'WebGUI::Asset'); +is($i18nNew2->{_language}, 'English', 'Calling new with only namespace parameter should return object with language English'); +is($i18nNew2->{_namespace}, 'WebGUI::Asset', 'Calling with only parameter namespace should give requested namespace'); +my $i18nNew3 = WebGUI::International->new($session, undef , 'PigLatin'); +is($i18nNew3->{_language}, 'PigLatin', 'Calling new with only language parameter should return object with language PigLatin'); +is($i18nNew3->{_namespace}, 'WebGUI', 'Calling with only parameter namespace should give WebGUI '); my $languages = $i18n->getLanguages(); my $gotPigLatin = exists $languages->{PigLatin}; @@ -102,6 +113,24 @@ sub installPigLatin { ); } +#test for sub new with language overridden by scratch +my $formvariables = { + 'op' =>'setLanguage', + 'language' => 'PigLatin' +}; +$session->request->setup_body($formvariables); +WebGUI::Content::SetLanguage::handler($session); +my $newi18n = WebGUI::International->new($session); + is( + $newi18n->get('webgui','WebGUI','PigLatin'), + 'ebGUIWay', + 'if the piglatin language is in the scratch that messages should be retrieved' +); + is( + $newi18n->get('104','Asset','PigLatin'), + $newi18n->get('104', 'WebGUI', 'English'), + 'Language check after SetLanguage contentHandler : key from missing file return English key' +); END { unlink File::Spec->catfile(WebGUI::Test->lib, qw/WebGUI i18n PigLatin WebGUI.pm/); unlink File::Spec->catfile(WebGUI::Test->lib, qw/WebGUI i18n PigLatin.pm/); diff --git a/t/Session/Scratch.t b/t/Session/Scratch.t index 1b56afcbd..948e5bdf8 100644 --- a/t/Session/Scratch.t +++ b/t/Session/Scratch.t @@ -15,7 +15,7 @@ use lib "$FindBin::Bin/../lib"; use WebGUI::Test; use WebGUI::Session; -use Test::More tests => 58; # increment this value for each test you create +use Test::More tests => 62; # increment this value for each test you create use Test::Deep; my $session = WebGUI::Test->session; @@ -117,6 +117,16 @@ is($sessionBank[0]->scratch->deleteNameByValue('',''), undef, 'deleteNameByValue is($sessionBank[3]->scratch->deleteNameByValue('falseValue','0'), 1, 'deleteNameByValue will delete values that are false (0)'); is($sessionBank[2]->scratch->deleteNameByValue('falseValue',''), 1, "deleteNameByValue will delete values that are false ('')"); +$scratch->setLanguageOverride('English'); +is($scratch->getLanguageOverride, 'English', 'session scratch language is not correctly set'); +$scratch->removeLanguageOverride; +is($scratch->getLanguageOverride, undef, 'The session scratch variable language is not removed'); +$scratch->setLanguageOverride('myimmaginarylanguagethatisnotinstalled'); +is($scratch->getLanguageOverride, undef, 'A non-existing language is set'); +$scratch->setLanguageOverride('English'); +$scratch->setLanguageOverride(); +is($scratch->getLanguageOverride, 'English', 'A empty string is falsely recognised as a language'); + END { $session->scratch->deleteAll; foreach my $wgSess ($newSession, @sessionBank) { From bbfcd3c9a2df7c992e1482ed583728115f3251c9 Mon Sep 17 00:00:00 2001 From: Bart Jol Date: Fri, 23 Oct 2009 15:42:22 +0200 Subject: [PATCH 02/14] added SetLanguage to WebGUI.conf.original --- etc/WebGUI.conf.original | 1 + 1 file changed, 1 insertion(+) diff --git a/etc/WebGUI.conf.original b/etc/WebGUI.conf.original index 392c75f9a..ce4471029 100644 --- a/etc/WebGUI.conf.original +++ b/etc/WebGUI.conf.original @@ -968,6 +968,7 @@ "WebGUI::Content::AssetManager", "WebGUI::Content::AssetDiscovery", "WebGUI::Content::PassiveAnalytics", + "WebGUI::Content::SetLanguage", "WebGUI::Content::AjaxI18N", "WebGUI::Content::Account", "WebGUI::Content::AssetHistory", From 951439a017b11d8c495067abc2661b0d0004bd75 Mon Sep 17 00:00:00 2001 From: Bart Jol Date: Fri, 23 Oct 2009 16:16:01 +0200 Subject: [PATCH 03/14] added picklanguage macro to international --- etc/WebGUI.conf.original | 1 + lib/WebGUI/Macro/PickLanguage.pm | 65 +++++++++++++++++++ t/Macro/PickLanguage.t | 104 +++++++++++++++++++++++++++++++ 3 files changed, 170 insertions(+) create mode 100644 lib/WebGUI/Macro/PickLanguage.pm create mode 100644 t/Macro/PickLanguage.t diff --git a/etc/WebGUI.conf.original b/etc/WebGUI.conf.original index ce4471029..b074415c1 100644 --- a/etc/WebGUI.conf.original +++ b/etc/WebGUI.conf.original @@ -811,6 +811,7 @@ "Page" : "Page", "PageTitle" : "PageTitle", "PageUrl" : "PageUrl", + "PickLanguage" : "PickLanguage", "RandomAssetProxy" : "RandomAssetProxy", "RandomThread" : "RandomThread", "RootTitle" : "RootTitle", diff --git a/lib/WebGUI/Macro/PickLanguage.pm b/lib/WebGUI/Macro/PickLanguage.pm new file mode 100644 index 000000000..60fc7c75d --- /dev/null +++ b/lib/WebGUI/Macro/PickLanguage.pm @@ -0,0 +1,65 @@ +package WebGUI::Macro::PickLanguage; # edit this line to match your own macro name + +#------------------------------------------------------------------- +# WebGUI is Copyright 2001-2009 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 strict; + +=head1 NAME + +Package WebGUI::Macro::PickLanguage + +=head1 DESCRIPTION + +This macro makes a link for each installed language so when clicked the SetLanguage contetntHandler is called and sets the language in the scratch. The link text is the label from the language. + +=head2 process( $session ) + +The main macro class, Macro.pm, will call this subroutine and pass it + +=over 4 + +=item * + +A session variable + +=item templateId + +This macro takes a templateId to show the links + +=back + +=cut + + +#------------------------------------------------------------------- +sub process { + my $session = shift; + my $templateId = shift; + my $template = WebGUI::Asset::Template->new($session, $templateId); + return "Could not instanciate template with id [$templateId]" unless $template; + my $i18n = WebGUI::International->new($session); + my $languages = $i18n->getLanguages(); + my $vars = {'lang_loop' => []}; + foreach my $language ( keys %$languages ) { + my $langVars = {}; + $langVars->{ 'language_url' } = '?op=setLanguage;language=' . $language ; + $langVars->{ 'language_lang' } = $i18n->getLanguage($language , 'label'); + $langVars->{ 'language_langAbbr' } = $i18n->getLanguage($language, 'languageAbbreviation'); + $langVars->{ 'language_langAbbrLoc' } = $i18n->getLanguage($language, 'locale'); + $langVars->{ 'language_langEng' } = $language; + push(@{$vars->{lang_loop}}, $langVars); + } + return $template->process($vars); +} + +1; + +#vim:ft=perl diff --git a/t/Macro/PickLanguage.t b/t/Macro/PickLanguage.t new file mode 100644 index 000000000..16e70fafc --- /dev/null +++ b/t/Macro/PickLanguage.t @@ -0,0 +1,104 @@ +#------------------------------------------------------------------- +# WebGUI is Copyright 2001-2009 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 lib "$FindBin::Bin/../lib"; + +use WebGUI::Test; +use WebGUI::Session; +use WebGUI::Asset::Template; + +use Test::More; # increment this value for each test you create +use Test::Deep; +use Test::MockObject; +use Test::MockObject::Extends; + +my $session = WebGUI::Test->session; + +my $numTests = 3; + +$numTests += 1; #For the use_ok + +plan tests => $numTests; + +my $macro = 'WebGUI::Macro::PickLanguage'; +my $loaded = use_ok($macro); + +my $macroMock = Test::MockObject->new({}); +$macroMock->set_isa('WebGUI::Macro::PickLanguage'); +$macroMock->set_true('process'); + +#test for normal use + +my $templateId = 'PICKLANGUAGE_TEMPLATE_'; + +my $templateMock = Test::MockObject->new({}); +$templateMock->set_isa('WebGUI::Asset::Template'); +$templateMock->set_always('getId', $templateId); +my $templateVars; +$templateMock->mock('process', sub { $templateVars = $_[1]; } ); + + +{ + WebGUI::Test->mockAssetId($templateId, $templateMock); + WebGUI::Macro::PickLanguage::process($session,$templateMock->getId); + + cmp_deeply( + $templateVars, + { + lang_loop => [ + { 'language_url' => '?op=setLanguage;language=English', + 'language_lang' => 'English', + 'language_langAbbr' => 'en', + 'language_langAbbrLoc' => 'US', + 'language_langEng' => 'English' + }, + ], + }, + 'some template variables are created' + ); + WebGUI::Test->unmockAssetId($templateId); +} + +#test when template Id is left empty + +$templateId = ''; +my $templateNoId = $templateMock->mock('process',''); +$templateMock->set_always('getId', $templateId); +$templateMock->mock('process', sub { $templateVars = $_[1]; } ); +my $error; + + +{ + WebGUI::Test->mockAssetId($templateNoId, $templateMock); + $error = WebGUI::Macro::PickLanguage::process($session,$templateMock->getId); + + is($error,'Could not instanciate template with id []',"Empty template Id should return error"); + + WebGUI::Test->unmockAssetId($templateNoId); +} + +#test for an incorrect template Id + +$templateId = '1234567890123456789012'; +my $templateWrongId = $templateMock->mock('process',''); +$templateMock->set_always('getId', $templateId); +$templateMock->mock('process', sub { $templateVars = $_[1]; } ); +my $error; + + +{ + WebGUI::Test->mockAssetId($templateWrongId, $templateMock); + $error = WebGUI::Macro::PickLanguage::process($session,$templateMock->getId); + + is($error,'Could not instanciate template with id [1234567890123456789012]',"Template from the wrong namespace should not be initiated"); + WebGUI::Test->unmockAssetId($templateWrongId); +} + From f03a030f355ebcae3e6d51941907bf9f12c9a3a1 Mon Sep 17 00:00:00 2001 From: Bart Jol Date: Tue, 27 Oct 2009 11:53:26 +0100 Subject: [PATCH 04/14] added i18n and help --- lib/WebGUI/Help/Macro_PickLanguage.pm | 36 ++++++++++++++++ lib/WebGUI/i18n/English/Macro_PickLanguage.pm | 43 +++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 lib/WebGUI/Help/Macro_PickLanguage.pm create mode 100644 lib/WebGUI/i18n/English/Macro_PickLanguage.pm diff --git a/lib/WebGUI/Help/Macro_PickLanguage.pm b/lib/WebGUI/Help/Macro_PickLanguage.pm new file mode 100644 index 000000000..5ca6b601f --- /dev/null +++ b/lib/WebGUI/Help/Macro_PickLanguage.pm @@ -0,0 +1,36 @@ +package WebGUI::Help::Macro_PickLanguage; + +use strict; + + +our $HELP = { + 'template variables' => { + title => 'PickLanguage macro', + body => '', + 'variables' => [ + { + name => "lang_loop", + variables => [ + { + name => "language_lang", + }, + { + name => "language_langAbbr", + }, + { + name => "language_langAbbrLoc", + }, + { + name => "language_langEng", + }, + ], + }, + ], + related => [ + ], + }, + +}; + +1; ##All perl modules must return true +#vim:ft=perl diff --git a/lib/WebGUI/i18n/English/Macro_PickLanguage.pm b/lib/WebGUI/i18n/English/Macro_PickLanguage.pm new file mode 100644 index 000000000..867148bc2 --- /dev/null +++ b/lib/WebGUI/i18n/English/Macro_PickLanguage.pm @@ -0,0 +1,43 @@ +package WebGUI::i18n::English::Macro_PickLanguage; ##Be sure to change the package name to match the filename + +use strict; ##Required for all good Perl::Critic compliant code + +our $I18N = { ##hashref of hashes + 'lang_loop' => { ##key that will be used to reference this entry. Do not translate this. + message => q|A loop that contains all installed languages|, + lastUpdated => 1131394070, #seconds from the epoch + context => q|A template loop| + }, + + 'language_lang' => { + message => q|The name of the language in that language.|, + lastUpdated => 1131394072, + context => q|A template variable to show the name of the language| + }, + + 'language_langAbbr' => { + message => q|An standard code for the language, for instance "en".|, + lastUpdated => 1131394072, + context => q|A label of the language to use in the template| + }, + 'language_langAbbrLoc' => { + message => q|An standard abbreviated label for the language, for instance "US".|, + lastUpdated => 1131394072, + context => q|A label of the language to use in the template| + }, + 'language_langEng' => { + message => q|The English name of the language.|, + lastUpdated => 1131394072, + context => q|A label of the language to use in the template| + }, + 'language_url' => { + message => q|The url that sets the WebGUI language to the selected language.|, + lastUpdated => 1131394072, + context => q|The url to change languages| + }, + + +}; + +1; +#vim:ft=perl From af2b09e8715876f4829ac446115a02d4db021c63 Mon Sep 17 00:00:00 2001 From: Bart Jol Date: Tue, 27 Oct 2009 12:25:11 +0100 Subject: [PATCH 05/14] added default template --- .../root_import_macro_picklanguage.wgpkg | Bin 0 -> 838 bytes lib/WebGUI/Macro/PickLanguage.pm | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 docs/upgrades/packages-7.8.1/root_import_macro_picklanguage.wgpkg diff --git a/docs/upgrades/packages-7.8.1/root_import_macro_picklanguage.wgpkg b/docs/upgrades/packages-7.8.1/root_import_macro_picklanguage.wgpkg new file mode 100644 index 0000000000000000000000000000000000000000..79df80488a7b037c3162772cac8488ae3dd39702 GIT binary patch literal 838 zcmV-M1G)SkiwFP!00000|Ls=WZrU&y&UK$6%Jl{bBxE3lRA@Vpph7EMyNwB%#DLcj zTeibtQ{R2I6Nn3Rld962;fo06_kZwra3~nZU$$-go@W@g?f9N!7-c_Q=62bJnhWREa9*h6Nt3r6RV!zLX2`vuiBmx|c0Ouf>&0)-$W!B8^ zKi;W0!Pyov^ug<=~1_(1su!fGO*P;6aoV13hVpmocQb z4APE@>BBxrS51d>80UQfV~}TQBXH?dK2zuY_`W&$aMJ-ZKqZ{ zmrT`agG}K0cB#i64$%aq(y*M8SE;z-sZGWak1|yrDz6&KvYAo!qmv+5}J`ctyZ72-Rxs zL9e@y7h-~JVWZU9PmF}v1)P8+`YW-jXSM2AtDaxdCZceGm_XrTwjj;r$H`8j2iDv+Jm8k6O##y$`>-ZmYeTHSbmnzSMPjvu5HzyJ#pLHuUOup%AjV zwhu{J-S#`=d2U($!OJ@e%?ZHUIzs literal 0 HcmV?d00001 diff --git a/lib/WebGUI/Macro/PickLanguage.pm b/lib/WebGUI/Macro/PickLanguage.pm index 60fc7c75d..306f4f183 100644 --- a/lib/WebGUI/Macro/PickLanguage.pm +++ b/lib/WebGUI/Macro/PickLanguage.pm @@ -42,7 +42,7 @@ This macro takes a templateId to show the links #------------------------------------------------------------------- sub process { my $session = shift; - my $templateId = shift; + my $templateId = shift || "_aE16Rr1-bXBf8SIaLZjCg"; my $template = WebGUI::Asset::Template->new($session, $templateId); return "Could not instanciate template with id [$templateId]" unless $template; my $i18n = WebGUI::International->new($session); From f1cabe7a25ed2ae14eac698350a7941e5754fde9 Mon Sep 17 00:00:00 2001 From: Bart Jol Date: Tue, 27 Oct 2009 13:07:27 +0100 Subject: [PATCH 06/14] changed template --- .../root_import_macro_picklanguage.wgpkg | Bin 838 -> 837 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/upgrades/packages-7.8.1/root_import_macro_picklanguage.wgpkg b/docs/upgrades/packages-7.8.1/root_import_macro_picklanguage.wgpkg index 79df80488a7b037c3162772cac8488ae3dd39702..30ba71727f5f20a05e5f9a29567bc904950e6667 100644 GIT binary patch literal 837 zcmV-L1G@YliwFP!00000|Ls=WZrU&y=DJT2<$8l85K<6BqNf!JI<(St2PR|^11^c} z*-j~)`tGxxK*FJ$RF&QgUqmSOfADwsL$R>`Wm%Tzx`l#e*`8|`3S}=@#%fsw+jczL zty-RE6%5<5<#|Jf?0>~v047_T!_g#0FRv#rDVMsWS})J@#*w;PTR+SC=@joc!LQnd z%v-Hgp5?#nRO}7@9i9!en;!55fNj<(am2f@H41VJB6cn|n9nNBveR+7vyWH%hL zw%*G(yB4mC4%h%^bphv4q+vsFZdX4u`~B$a$@uuX4LaZNPAA#fn1wn+1Oo(06#26d z;7P3DT-_e=OB4hU>w|XweUA}A#DXT+z!wA)U3yt4;))kAO5<~k@)@F6 zM99iM5Qrp<=irdmi~Ij5tRRcE=1oAQ5AX9{(bBv|k4fj1S|#g>0w&e233vvfdi}EB z?QG+Pc!wwtCAMC35#ncX4C3&w#Oj*0npdm2o|C&RgZGF_6wa3BU-7U8rZVtS1$iu| zWZuRXghdG$xviMP#P!P=uqit%wZbXz6PUWdXQb4VGCUlN01yBGUKW^y literal 838 zcmV-M1G)SkiwFP!00000|Ls=WZrU&y&UK$6%Jl{bBxE3lRA@Vpph7EMyNwB%#DLcj zTeibtQ{R2I6Nn3Rld962;fo06_kZwra3~nZU$$-go@W@g?f9N!7-c_Q=62bJnhWREa9*h6Nt3r6RV!zLX2`vuiBmx|c0Ouf>&0)-$W!B8^ zKi;W0!Pyov^ug<=~1_(1su!fGO*P;6aoV13hVpmocQb z4APE@>BBxrS51d>80UQfV~}TQBXH?dK2zuY_`W&$aMJ-ZKqZ{ zmrT`agG}K0cB#i64$%aq(y*M8SE;z-sZGWak1|yrDz6&KvYAo!qmv+5}J`ctyZ72-Rxs zL9e@y7h-~JVWZU9PmF}v1)P8+`YW-jXSM2AtDaxdCZceGm_XrTwjj;r$H`8j2iDv+Jm8k6O##y$`>-ZmYeTHSbmnzSMPjvu5HzyJ#pLHuUOup%AjV zwhu{J-S#`=d2U($!OJ@e%?ZHUIzs From 151deaf1430cc160c4f0c3d2deee1ecae749d9e1 Mon Sep 17 00:00:00 2001 From: Bart Jol Date: Tue, 27 Oct 2009 13:16:10 +0100 Subject: [PATCH 07/14] updated test for default ID --- t/Macro/PickLanguage.t | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/t/Macro/PickLanguage.t b/t/Macro/PickLanguage.t index 16e70fafc..ad93afb6a 100644 --- a/t/Macro/PickLanguage.t +++ b/t/Macro/PickLanguage.t @@ -73,18 +73,39 @@ $templateId = ''; my $templateNoId = $templateMock->mock('process',''); $templateMock->set_always('getId', $templateId); $templateMock->mock('process', sub { $templateVars = $_[1]; } ); -my $error; - { - WebGUI::Test->mockAssetId($templateNoId, $templateMock); - $error = WebGUI::Macro::PickLanguage::process($session,$templateMock->getId); - is($error,'Could not instanciate template with id []',"Empty template Id should return error"); - - WebGUI::Test->unmockAssetId($templateNoId); + WebGUI::Test->mockAssetId($templateId, $templateMock); + WebGUI::Macro::PickLanguage::process($session,$templateMock->getId); + + cmp_deeply( + $templateVars, + { + lang_loop => [ + { 'language_url' => '?op=setLanguage;language=English', + 'language_lang' => 'English', + 'language_langAbbr' => 'en', + 'language_langAbbrLoc' => 'US', + 'language_langEng' => 'English' + }, + ], + }, + 'some template variables are created, when no templateId is passed on with the macro' + ); + WebGUI::Test->unmockAssetId($templateId); } + +#{ +# WebGUI::Test->mockAssetId($templateNoId, $templateMock); +# $error = WebGUI::Macro::PickLanguage::process($session,$templateMock->getId); +# +# is($error,'Could not instanciate template with id []',"Empty template Id should return error"); +# +# WebGUI::Test->unmockAssetId($templateNoId); +#} + #test for an incorrect template Id $templateId = '1234567890123456789012'; From ba52c38ea34dfab0817c92fda385e36b1a2c9ae1 Mon Sep 17 00:00:00 2001 From: Bart Jol Date: Tue, 27 Oct 2009 16:17:34 +0100 Subject: [PATCH 08/14] configured title so al link appears in help index --- lib/WebGUI/Help/Macro_PickLanguage.pm | 3 ++- lib/WebGUI/i18n/English/Macro_PickLanguage.pm | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/WebGUI/Help/Macro_PickLanguage.pm b/lib/WebGUI/Help/Macro_PickLanguage.pm index 5ca6b601f..f5bb02f61 100644 --- a/lib/WebGUI/Help/Macro_PickLanguage.pm +++ b/lib/WebGUI/Help/Macro_PickLanguage.pm @@ -5,8 +5,9 @@ use strict; our $HELP = { 'template variables' => { - title => 'PickLanguage macro', + title => 'picklanguage title', body => '', + fields =>[], 'variables' => [ { name => "lang_loop", diff --git a/lib/WebGUI/i18n/English/Macro_PickLanguage.pm b/lib/WebGUI/i18n/English/Macro_PickLanguage.pm index 867148bc2..a4f1cc78c 100644 --- a/lib/WebGUI/i18n/English/Macro_PickLanguage.pm +++ b/lib/WebGUI/i18n/English/Macro_PickLanguage.pm @@ -3,6 +3,11 @@ package WebGUI::i18n::English::Macro_PickLanguage; ##Be sure to change the pack use strict; ##Required for all good Perl::Critic compliant code our $I18N = { ##hashref of hashes + 'picklanguage title' => { + message => q|PickLanguage macro template variables|, + lastUpdated => 1131394070, + context => q|Title of the help object| + }, 'lang_loop' => { ##key that will be used to reference this entry. Do not translate this. message => q|A loop that contains all installed languages|, lastUpdated => 1131394070, #seconds from the epoch From 5f83f87cfe20515a7ceb9296af8d0b77b77adde7 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Wed, 28 Oct 2009 11:18:21 -0700 Subject: [PATCH 09/14] Move picklanguage template to correct location. --- .../root_import_macro_picklanguage.wgpkg | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/upgrades/{packages-7.8.1 => packages-7.8.3}/root_import_macro_picklanguage.wgpkg (100%) diff --git a/docs/upgrades/packages-7.8.1/root_import_macro_picklanguage.wgpkg b/docs/upgrades/packages-7.8.3/root_import_macro_picklanguage.wgpkg similarity index 100% rename from docs/upgrades/packages-7.8.1/root_import_macro_picklanguage.wgpkg rename to docs/upgrades/packages-7.8.3/root_import_macro_picklanguage.wgpkg From 131bc33a8821d1ff4cc6f0665bc046028f0c39c2 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Wed, 28 Oct 2009 13:13:13 -0700 Subject: [PATCH 10/14] Add upgrade code for new Language handler and macro. --- docs/upgrades/upgrade_7.8.2-7.8.3.pl | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/docs/upgrades/upgrade_7.8.2-7.8.3.pl b/docs/upgrades/upgrade_7.8.2-7.8.3.pl index 7f08da97e..b854cfd93 100644 --- a/docs/upgrades/upgrade_7.8.2-7.8.3.pl +++ b/docs/upgrades/upgrade_7.8.2-7.8.3.pl @@ -22,6 +22,7 @@ use Getopt::Long; use WebGUI::Session; use WebGUI::Storage; use WebGUI::Asset; +use WebGUI::Utility; my $toVersion = '7.8.3'; @@ -35,6 +36,8 @@ reKeyTemplateAttachments($session); addSelectPaymentGatewayTemplateToSettings($session); addClipboardAdminSetting($session); addTrashAdminSetting($session); +addPickLanguageMacro($session); +installSetLanguage($session); finish($session); # this line required @@ -90,6 +93,30 @@ sub addSelectPaymentGatewayTemplateToSettings { # print "DONE!\n" unless $quiet; #} +#------------------------------------------------------------------------ +sub addPickLanguageMacro { + my $session = shift; + print "\tAdding Pick Language macro... " unless $quiet; + $session->config->set('macros/PickLanguage', 'PickLanguage'); + print "Done.\n" unless $quiet; +} + +sub installSetLanguage { + my $session = shift; + print "\tAdding SetLanguage content handler... " unless $quiet; + ##Content Handler + my $contentHandlers = $session->config->get('contentHandlers'); + if (!isIn('WebGUI::Content::SetLanguage', @{ $contentHandlers }) ) { + my @newHandlers = (); + foreach my $handler (@{ $contentHandlers }) { + push @newHandlers, $handler; + push @newHandlers, 'WebGUI::Content::SetLanguage' if + $handler eq 'WebGUI::Content::PassiveAnalytics'; + } + $session->config->set('contentHandlers', \@newHandlers); + } + print "Done.\n" unless $quiet; +} # -------------- DO NOT EDIT BELOW THIS LINE -------------------------------- From 6ec9fc4557c8c2ed0ad38279aeb34ab8d0469928 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Wed, 28 Oct 2009 13:15:14 -0700 Subject: [PATCH 11/14] changelog notice for SetLanguage/PickLanguage --- docs/changelog/7.x.x.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 0c3aa2e82..f3650ebd4 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -20,6 +20,7 @@ - added: Manage System Clipboard group setting - added: Manage System Trash group setting - fixed #11069: "More" options menu in asset manager + - rfe #10755: Adding SetLanguage bazaar item 7.8.2 - Added scheduled vendor payout workflow activity. (Special thanks to Martin @ Oqapi) From 7a486a983eb90b68ef5b4e6f61982291a9b210e3 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Wed, 28 Oct 2009 16:20:50 -0700 Subject: [PATCH 12/14] Conditional upgrade for template_attachments, for those coming from 7.7 --- docs/changelog/7.x.x.txt | 1 + docs/upgrades/upgrade_7.8.2-7.8.3.pl | 23 +++++++++++++---------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index f3650ebd4..e0cd1dc74 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -21,6 +21,7 @@ - added: Manage System Trash group setting - fixed #11069: "More" options menu in asset manager - rfe #10755: Adding SetLanguage bazaar item + - fixed #11176: New upgrade error in 7.6.35 to 7.7.17 7.8.2 - Added scheduled vendor payout workflow activity. (Special thanks to Martin @ Oqapi) diff --git a/docs/upgrades/upgrade_7.8.2-7.8.3.pl b/docs/upgrades/upgrade_7.8.2-7.8.3.pl index b854cfd93..ab4476476 100644 --- a/docs/upgrades/upgrade_7.8.2-7.8.3.pl +++ b/docs/upgrades/upgrade_7.8.2-7.8.3.pl @@ -63,17 +63,20 @@ sub addTrashAdminSetting { sub reKeyTemplateAttachments { my $session = shift; print "\tChanging the key structure for the template attachments table... " unless $quiet; - # and here's our code - $session->db->write('ALTER TABLE template_attachments ADD COLUMN attachId CHAR(22) BINARY NOT NULL'); - my $rh = $session->db->read('select url, templateId, revisionDate from template_attachments'); - my $wh = $session->db->prepare('update template_attachments set attachId=? where url=? and templateId=? and revisionDate=?'); - while (my @key = $rh->array) { - $wh->execute([$session->id->generate, @key ]); + my $columnExists = $session->db->dbh->column_info(undef, undef, 'template_attachments', 'attachId')->fetchrow_hashref; + if (! $columnExists) { + # and here's our code + $session->db->write('ALTER TABLE template_attachments ADD COLUMN attachId CHAR(22) BINARY NOT NULL'); + my $rh = $session->db->read('select url, templateId, revisionDate from template_attachments'); + my $wh = $session->db->prepare('update template_attachments set attachId=? where url=? and templateId=? and revisionDate=?'); + while (my @key = $rh->array) { + $wh->execute([$session->id->generate, @key ]); + } + $rh->finish; + $wh->finish; + $session->db->write('ALTER TABLE template_attachments DROP PRIMARY KEY'); + $session->db->write('ALTER TABLE template_attachments ADD PRIMARY KEY (attachId)'); } - $rh->finish; - $wh->finish; - $session->db->write('ALTER TABLE template_attachments DROP PRIMARY KEY'); - $session->db->write('ALTER TABLE template_attachments ADD PRIMARY KEY (attachId)'); print "DONE!\n" unless $quiet; } From 404ff5d570cd8e30107117e2097e0ec569bf9d48 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Thu, 29 Oct 2009 09:04:31 -0700 Subject: [PATCH 13/14] i18n the ableToBeFrield user profile field label. --- docs/changelog/7.x.x.txt | 1 + docs/upgrades/upgrade_7.8.2-7.8.3.pl | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index e0cd1dc74..f276b66a1 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -22,6 +22,7 @@ - fixed #11069: "More" options menu in asset manager - rfe #10755: Adding SetLanguage bazaar item - fixed #11176: New upgrade error in 7.6.35 to 7.7.17 + - fixed #11181: ableToBeFriend label not i18n 7.8.2 - Added scheduled vendor payout workflow activity. (Special thanks to Martin @ Oqapi) diff --git a/docs/upgrades/upgrade_7.8.2-7.8.3.pl b/docs/upgrades/upgrade_7.8.2-7.8.3.pl index ab4476476..b0d402b9b 100644 --- a/docs/upgrades/upgrade_7.8.2-7.8.3.pl +++ b/docs/upgrades/upgrade_7.8.2-7.8.3.pl @@ -23,6 +23,7 @@ use WebGUI::Session; use WebGUI::Storage; use WebGUI::Asset; use WebGUI::Utility; +use WebGUI::ProfileField; my $toVersion = '7.8.3'; @@ -38,9 +39,23 @@ addClipboardAdminSetting($session); addTrashAdminSetting($session); addPickLanguageMacro($session); installSetLanguage($session); +i18nAbleToBeFriend($session); finish($session); # this line required +#---------------------------------------------------------------------------- +sub i18nAbleToBeFriend { + my $session = shift; + print "\tInternationalize the Able To Be Friend profile field... " unless $quiet; + my $field = WebGUI::ProfileField->new($session, 'ableToBeFriend'); + if ($field) { + my $props = $field->get(); + $props->{label} = q{WebGUI::International::get('user profile field friend availability','WebGUI')}; + $field->set($props); + } + print "Done.\n" unless $quiet; +} + #---------------------------------------------------------------------------- sub addClipboardAdminSetting { my $session = shift; From 305860073730fb6bd1974732714a78f8d5bb3f67 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Thu, 29 Oct 2009 10:51:12 -0700 Subject: [PATCH 14/14] Test maintenance in t/Macro --- t/Macro/CanEditText.t | 12 ++---------- t/Macro/D_date.t | 14 +++----------- t/Macro/EditableToggle.t | 21 +++------------------ t/Macro/Extras.t | 10 +--------- t/Macro/c_companyName.t | 19 ++----------------- t/Macro/e_companyEmail.t | 14 ++------------ 6 files changed, 13 insertions(+), 77 deletions(-) diff --git a/t/Macro/CanEditText.t b/t/Macro/CanEditText.t index a0af7a479..e1807e8da 100644 --- a/t/Macro/CanEditText.t +++ b/t/Macro/CanEditText.t @@ -14,6 +14,7 @@ use lib "$FindBin::Bin/../lib"; use WebGUI::Test; use WebGUI::Session; +use WebGUI::Macro::CanEditText; use Data::Dumper; my $session = WebGUI::Test->session; @@ -61,17 +62,10 @@ my @testSets = ( }, ); -my $numTests = scalar @testSets + 2; +my $numTests = scalar @testSets + 1; plan tests => $numTests; -my $macro = 'WebGUI::Macro::CanEditText'; -my $loaded = use_ok($macro); - -SKIP: { - -skip "Unable to load $macro", $numTests-1 unless $loaded; - is( WebGUI::Macro::CanEditText::process($session,''), '', @@ -85,8 +79,6 @@ foreach my $testSet (@testSets) { is($output, $testSet->{output}, $testSet->{comment}); } -} - sub setupTest { my ($session, $defaultNode) = @_; $session->user({userId=>3}); diff --git a/t/Macro/D_date.t b/t/Macro/D_date.t index 55221fd93..05f6afad8 100644 --- a/t/Macro/D_date.t +++ b/t/Macro/D_date.t @@ -15,12 +15,13 @@ use lib "$FindBin::Bin/../lib"; use WebGUI::Test; use WebGUI::Session; +use WebGUI::Macro::D_date; use Data::Dumper; # ---- END DO NOT EDIT ---- use Test::More; # increment this value for each test you create -my $wgbday = 997966800; +my $wgbday = WebGUI::Test->webguiBirthday; my @testSets = ( { @@ -33,17 +34,10 @@ my @testSets = ( }, ); -my $numTests = scalar @testSets + 1 + 1; +my $numTests = scalar @testSets + 1; plan tests => $numTests; -my $macro = 'WebGUI::Macro::D_date'; -my $loaded = use_ok($macro); - -SKIP: { - -skip "Unable to load $macro", $numTests-1 unless $loaded; - my $session = WebGUI::Test->session; foreach my $testSet (@testSets) { @@ -65,5 +59,3 @@ while ($time1 != $time2) { } is($output, $session->datetime->epochToHuman($time1), 'checking default time and format'); - -} diff --git a/t/Macro/EditableToggle.t b/t/Macro/EditableToggle.t index bf26cb1a6..29fb31462 100644 --- a/t/Macro/EditableToggle.t +++ b/t/Macro/EditableToggle.t @@ -15,6 +15,7 @@ use lib "$FindBin::Bin/../lib"; use WebGUI::Test; use WebGUI::Session; use HTML::TokeParser; +use WebGUI::Macro::EditableToggle; use Data::Dumper; use Test::More; # increment this value for each test you create @@ -184,17 +185,10 @@ foreach my $testSet (@testSets) { $numTests += 1 + (ref $testSet->{output} eq 'CODE'); } -$numTests += 1 + 1; ##Empty session Asset plus use_ok +$numTests += 1; ##Empty session Asset plus use_ok plan tests => $numTests; -my $macro = 'WebGUI::Macro::EditableToggle'; -my $loaded = use_ok($macro); - -SKIP: { - -skip "Unable to load $macro", $numTests-1 unless $loaded; - is( WebGUI::Macro::EditableToggle::process($session,'on','off',''), '', @@ -229,8 +223,6 @@ foreach my $testSet (@testSets) { } } -} - sub simpleHTMLParser { my ($text) = @_; my $p = HTML::TokeParser->new(\$text); @@ -255,7 +247,6 @@ sub setupTest { my ($session, $defaultNode) = @_; $session->user({userId=>3}); my $editGroup = WebGUI::Group->new($session, "new"); - WebGUI::Test->groupsToDelete($editGroup); my $tao = WebGUI::Group->find($session, "Turn Admin On"); ##Create an asset with specific editing privileges my $versionTag = WebGUI::VersionTag->getWorking($session); @@ -278,12 +269,6 @@ sub setupTest { $users[1]->addToGroups([$editGroup->getId]); ##User 2 is an editor AND can turn on Admin $users[2]->addToGroups([$editGroup->getId, $tao->getId]); - WebGUI::Test->usersToDelete(@users); + addToCleanup($versionTag, $editGroup, @users); return ($versionTag, $asset, @users); } - -END { ##Clean-up after yourself, always - if (defined $versionTag and ref $versionTag eq 'WebGUI::VersionTag') { - $versionTag->rollback; - } -} diff --git a/t/Macro/Extras.t b/t/Macro/Extras.t index ba5cf3d85..7bfeccfcd 100644 --- a/t/Macro/Extras.t +++ b/t/Macro/Extras.t @@ -14,6 +14,7 @@ use lib "$FindBin::Bin/../lib"; use WebGUI::Test; use WebGUI::Session; +use WebGUI::Macro::Extras; use Test::More; # increment this value for each test you create @@ -49,20 +50,11 @@ my @testSets = ( my $numTests = scalar @testSets; -$numTests += 1; - plan tests => $numTests; my $macro = 'WebGUI::Macro::Extras'; -my $loaded = use_ok($macro); - -SKIP: { - -skip "Unable to load $macro", $numTests-1 unless $loaded; foreach my $testSet (@testSets) { my $output = WebGUI::Macro::Extras::process($session, $testSet->{path}); is($output, $testSet->{output}, $testSet->{comment}); } - -} diff --git a/t/Macro/c_companyName.t b/t/Macro/c_companyName.t index b50a883f0..24d51d7ff 100644 --- a/t/Macro/c_companyName.t +++ b/t/Macro/c_companyName.t @@ -14,24 +14,14 @@ use lib "$FindBin::Bin/../lib"; use WebGUI::Test; use WebGUI::Session; +use WebGUI::Macro::c_companyName; use Data::Dumper; use Test::More; # increment this value for each test you create my $session = WebGUI::Test->session; -my $numTests = 2+1; - -plan tests => $numTests; - -my $macro = 'WebGUI::Macro::c_companyName'; -my $loaded = use_ok($macro); - -my $originalCompanyName = $session->setting->get('companyName'); - -SKIP: { - -skip "Unable to load $macro", $numTests-1 unless $loaded; +plan tests => 2; my $output = WebGUI::Macro::c_companyName::process($session); is($output, $originalCompanyName, "Testing companyName"); @@ -39,8 +29,3 @@ is($output, $originalCompanyName, "Testing companyName"); $session->setting->set('companyName', q|Gooey's Consulting, LLC|); $output = WebGUI::Macro::c_companyName::process($session); is($output, q|Gooey's Consulting, LLC|, "Testing companyName with embedded quote and comma"); - -} - -END { -} diff --git a/t/Macro/e_companyEmail.t b/t/Macro/e_companyEmail.t index aa1205cc7..d54c6f0fa 100644 --- a/t/Macro/e_companyEmail.t +++ b/t/Macro/e_companyEmail.t @@ -14,26 +14,16 @@ use lib "$FindBin::Bin/../lib"; use WebGUI::Test; use WebGUI::Session; +use WebGUI::Macro::e_companyEmail; use Data::Dumper; use Test::More; # increment this value for each test you create my $session = WebGUI::Test->session; -my $numTests = 1 + 1; - -plan tests => $numTests; - -my $macro = 'WebGUI::Macro::e_companyEmail'; -my $loaded = use_ok($macro); - -SKIP: { - -skip "Unable to load $macro", $numTests-1 unless $loaded; +plan tests => 1; my ($value) = $session->dbSlave->quickArray( "select value from settings where name='companyEmail'"); my $output = WebGUI::Macro::e_companyEmail::process($session); is($output, $value, sprintf "Testing companyEmail"); - -}