fix dummy parameter handling in BSE::Request::Test
authorTony Cook <tony@develop-help.com>
Fri, 30 Jan 2015 08:58:25 +0000 (19:58 +1100)
committerTony Cook <tony@develop-help.com>
Sat, 9 May 2015 04:08:52 +0000 (14:08 +1000)
and fix 040-preload.t to set param p properly

site/cgi-bin/modules/BSE/Request/Test.pm
t/060-generate/040-preload.t

index 311ce5f..4ad256e 100644 (file)
@@ -2,7 +2,7 @@ package BSE::Request::Test;
 use strict;
 use base 'BSE::Request::Base';
 
-our $VERSION = "1.004";
+our $VERSION = "1.005";
 
 sub new {
   my ($class, %opts) = @_;
@@ -50,14 +50,17 @@ sub param {
       die "Unabled to delete $name key in test";
     }
     else {
-      my $value = $self->{$name};
+      my $value = $self->{params}{$name};
       if (defined $value) {
        if (ref $value) {
          if (wantarray) {
-           return @{$self->{$name}};
+           return @$value;
+         }
+         elsif (@$value) {
+           return $value->[-1];
          }
          else {
-           return $self->{$name}[-1];
+           return;
          }
        }
        else {
@@ -70,7 +73,7 @@ sub param {
     }
   }
   else {
-    return keys %$self;
+    return keys %{$self->{param}};
   }
 }
 
index b2c7083..91e684d 100644 (file)
@@ -20,6 +20,7 @@ bse_init(".");
 my $cfg = bse_cfg();
 
 my %params;
+$params{p} = 11;
 my $r = BSE::Request::Test->new
   (
    params => \%params,
@@ -34,7 +35,6 @@ my $vars =
    ),
   };
 
-$params{p} = 11;
 template_test(<<'IN', <<'EXPECT', "page_list");
 <:.set items = [ 1 .. 200 ] -:>
 <:.set p = bse.paged(items, { pp: 5 }) -:>