testbot/web: Make sure Page::_initialize() is always called, with the right arguments.

Francois Gouget fgouget at codeweavers.com
Wed May 21 10:44:40 CDT 2014


Although Page::_initialize() is empty now, it is improper for subclasses to assume so and skip calling it or not pass it the right arguments.
---
 testbot/lib/ObjectModel/CGI/FormPage.pm | 5 ++---
 testbot/lib/ObjectModel/CGI/ItemPage.pm | 2 +-
 testbot/lib/ObjectModel/CGI/Page.pm     | 5 +++--
 testbot/lib/WineTestBot/CGI/PageBase.pm | 1 +
 testbot/web/Feedback.pl                 | 4 ++--
 testbot/web/ForgotPassword.pl           | 4 ++--
 testbot/web/Login.pl                    | 4 ++--
 testbot/web/Logout.pl                   | 4 +++-
 testbot/web/ResetPassword.pl            | 4 ++--
 testbot/web/Submit.pl                   | 4 ++--
 testbot/web/index.pl                    | 4 ++--
 11 files changed, 22 insertions(+), 19 deletions(-)

diff --git a/testbot/lib/ObjectModel/CGI/FormPage.pm b/testbot/lib/ObjectModel/CGI/FormPage.pm
index c9dfb04..0bf8694 100644
--- a/testbot/lib/ObjectModel/CGI/FormPage.pm
+++ b/testbot/lib/ObjectModel/CGI/FormPage.pm
@@ -36,10 +36,9 @@ require Exporter;
 
 sub _initialize
 {
-  my $self = shift;
-  my $PropertyDescriptors = shift;
+  my ($self, $Request, $RequiredRole, $PropertyDescriptors) = @_;
 
-  $self->SUPER::_initialize(@_);
+  $self->SUPER::_initialize($Request, $RequiredRole);
 
   $self->{PropertyDescriptors} = $PropertyDescriptors;
   $self->{HasRequired} = !1;
diff --git a/testbot/lib/ObjectModel/CGI/ItemPage.pm b/testbot/lib/ObjectModel/CGI/ItemPage.pm
index 16736fe..46925f3 100644
--- a/testbot/lib/ObjectModel/CGI/ItemPage.pm
+++ b/testbot/lib/ObjectModel/CGI/ItemPage.pm
@@ -42,7 +42,7 @@ sub _initialize
 
   $self->{Collection} = $Collection;
 
-  $self->SUPER::_initialize($Collection->GetPropertyDescriptors(), @_);
+  $self->SUPER::_initialize($Request, $RequiredRole, $Collection->GetPropertyDescriptors());
 
   if (defined($self->GetParam("Key")))
   {
diff --git a/testbot/lib/ObjectModel/CGI/Page.pm b/testbot/lib/ObjectModel/CGI/Page.pm
index 331243c..8bbd1ae 100644
--- a/testbot/lib/ObjectModel/CGI/Page.pm
+++ b/testbot/lib/ObjectModel/CGI/Page.pm
@@ -37,7 +37,7 @@ require Exporter;
 sub new
 {
   my $class = shift;
-  my $Request = $_[0];
+  my ($Request, $RequiredRole) = @_;
 
   my $self = {Request => $Request,
               CGIObj => CGI->new($Request),
@@ -45,12 +45,13 @@ sub new
               ErrField => undef};
   $self = bless $self, $class;
   $self->{PageBase} = &$PageBaseCreator($self, @_);
-  $self->_initialize(@_);
+  $self->_initialize($Request, $RequiredRole);
   return $self;
 }
 
 sub _initialize
 {
+  #my ($self, $Request, $RequiredRole) = @_;
 }
 
 sub GetParam
diff --git a/testbot/lib/WineTestBot/CGI/PageBase.pm b/testbot/lib/WineTestBot/CGI/PageBase.pm
index 7e12e80..7d75c5e 100644
--- a/testbot/lib/WineTestBot/CGI/PageBase.pm
+++ b/testbot/lib/WineTestBot/CGI/PageBase.pm
@@ -68,6 +68,7 @@ sub new
 
 sub _initialize
 {
+  #my ($self, $Page, $Request, $RequiredRole) = @_;
 }
 
 sub CheckSecurePage
diff --git a/testbot/web/Feedback.pl b/testbot/web/Feedback.pl
index c266ce4..b923c11 100644
--- a/testbot/web/Feedback.pl
+++ b/testbot/web/Feedback.pl
@@ -29,7 +29,7 @@ use WineTestBot::Config;
 
 sub _initialize
 {
-  my $self = shift;
+  my ($self, $Request, $RequiredRole) = @_;
 
   my @PropertyDescriptors = (
     CreateBasicPropertyDescriptor("Name", "Name", !1, !1, "A", 40),
@@ -37,7 +37,7 @@ sub _initialize
     CreateBasicPropertyDescriptor("Remarks", "Remarks", !1, 1, "A", 1024),
   );
 
-  $self->SUPER::_initialize(\@PropertyDescriptors);
+  $self->SUPER::_initialize($Request, $RequiredRole, \@PropertyDescriptors);
 
   my $Session = $self->GetCurrentSession();
   if (defined($Session))
diff --git a/testbot/web/ForgotPassword.pl b/testbot/web/ForgotPassword.pl
index a22d441..dc35a2b 100644
--- a/testbot/web/ForgotPassword.pl
+++ b/testbot/web/ForgotPassword.pl
@@ -31,7 +31,7 @@ use WineTestBot::CGI::Sessions;
 
 sub _initialize
 {
-  my $self = shift;
+  my ($self, $Request, $RequiredRole) = @_;
 
   $self->GetPageBase()->CheckSecurePage();
 
@@ -39,7 +39,7 @@ sub _initialize
     CreateBasicPropertyDescriptor("Name", "Username or EMail", 1, 1, "A", 40),
   );
 
-  $self->SUPER::_initialize(\@PropertyDescriptors);
+  $self->SUPER::_initialize($Request, $RequiredRole, \@PropertyDescriptors);
 }
 
 sub GetTitle
diff --git a/testbot/web/Login.pl b/testbot/web/Login.pl
index 4002948..e6a4945 100644
--- a/testbot/web/Login.pl
+++ b/testbot/web/Login.pl
@@ -32,7 +32,7 @@ use WineTestBot::CGI::Sessions;
 
 sub _initialize
 {
-  my $self = shift;
+  my ($self, $Request, $RequiredRole) = @_;
 
   $self->GetPageBase()->CheckSecurePage();
 
@@ -42,7 +42,7 @@ sub _initialize
     CreateBasicPropertyDescriptor("AutoLogin", "Log me in automatically each visit", !1, !1, "B", 1),
   );
 
-  $self->SUPER::_initialize(\@PropertyDescriptors);
+  $self->SUPER::_initialize($Request, $RequiredRole, \@PropertyDescriptors);
 }
 
 sub GetTitle
diff --git a/testbot/web/Logout.pl b/testbot/web/Logout.pl
index 696bb95..24d3ac3 100644
--- a/testbot/web/Logout.pl
+++ b/testbot/web/Logout.pl
@@ -29,7 +29,9 @@ use CGI::Cookie;
 
 sub _initialize
 {
-  my $self = shift;
+  my ($self, $Request, $RequiredRole) = @_;
+
+  $self->SUPER::_initialize($Request, $RequiredRole);
 
   $self->{WasLoggedIn} = undef;
 
diff --git a/testbot/web/ResetPassword.pl b/testbot/web/ResetPassword.pl
index dff05cf..73a7258 100644
--- a/testbot/web/ResetPassword.pl
+++ b/testbot/web/ResetPassword.pl
@@ -31,7 +31,7 @@ use WineTestBot::CGI::Sessions;
 
 sub _initialize
 {
-  my $self = shift;
+  my ($self, $Request, $RequiredRole) = @_;
 
   $self->GetPageBase()->CheckSecurePage();
 
@@ -42,7 +42,7 @@ sub _initialize
     CreateBasicPropertyDescriptor("Password2", "Password (repeat)", !1, 1, "A", 32),
   );
 
-  $self->SUPER::_initialize(\@PropertyDescriptors);
+  $self->SUPER::_initialize($Request, $RequiredRole, \@PropertyDescriptors);
 }
 
 sub GetTitle
diff --git a/testbot/web/Submit.pl b/testbot/web/Submit.pl
index 574c160..250ccd7 100644
--- a/testbot/web/Submit.pl
+++ b/testbot/web/Submit.pl
@@ -37,7 +37,7 @@ use WineTestBot::VMs;
 
 sub _initialize
 {
-  my $self = shift;
+  my ($self, $Request, $RequiredRole) = @_;
 
   $self->{Page} = $self->GetParam("Page") || 1;
 
@@ -60,7 +60,7 @@ sub _initialize
     $self->{ShowAll} = defined($self->GetParam("ShowAll"));
   }
 
-  $self->SUPER::_initialize(undef);
+  $self->SUPER::_initialize($Request, $RequiredRole, undef);
 }
 
 sub GetTitle
diff --git a/testbot/web/index.pl b/testbot/web/index.pl
index d0ba188..25f5e0e 100644
--- a/testbot/web/index.pl
+++ b/testbot/web/index.pl
@@ -194,9 +194,9 @@ use WineTestBot::VMs;
 
 sub _initialize
 {
-  my $self = shift;
+  my ($self, $Request, $RequiredRole) = @_;
 
-  $self->SUPER::_initialize(@_);
+  $self->SUPER::_initialize($Request, $RequiredRole);
 }
 
 sub OutputDot
-- 
2.0.0.rc0




More information about the wine-patches mailing list