aboutsummaryrefslogtreecommitdiffstats
path: root/t/Page.t
diff options
context:
space:
mode:
Diffstat (limited to 't/Page.t')
-rwxr-xr-xt/Page.t28
1 files changed, 26 insertions, 2 deletions
diff --git a/t/Page.t b/t/Page.t
index 44530b21f..d69a26c4c 100755
--- a/t/Page.t
+++ b/t/Page.t
@@ -6,12 +6,12 @@
# Copyright (c) 2009 UK Citizens Online Democracy. All rights reserved.
# Email: louise@mysociety.org; WWW: http://www.mysociety.org/
#
-# $Id: Page.t,v 1.5 2009-09-15 18:00:39 louise Exp $
+# $Id: Page.t,v 1.6 2009-10-07 08:18:42 louise Exp $
#
use strict;
use warnings;
-use Test::More tests => 15;
+use Test::More tests => 22;
use Test::Exception;
use FindBin;
@@ -90,7 +90,31 @@ sub test_base_url_with_lang {
}
+sub test_apply_on_map_list_limit {
+ my @original_on_map = ('a', 'b', 'c', 'd', 'e', 'f');
+ my @original_around_map = ('g', 'h', 'i', 'j', 'k');
+ my $limit = undef;
+
+ my ($on_map, $around_map) = Page::apply_on_map_list_limit(\@original_on_map, \@original_around_map, $limit);
+ is_deeply($on_map, \@original_on_map, 'On map list should be returned unaltered if no limit is given');
+ is_deeply($around_map, \@original_around_map, 'Around map list should be returned unaltered if no limit is given');
+
+ $limit = 20;
+ ($on_map, $around_map) = Page::apply_on_map_list_limit(\@original_on_map, \@original_around_map, $limit);
+ is_deeply($on_map, \@original_on_map, 'On map list should be returned unaltered if the limit is higher than the size of the on map list') or diag("Got @$on_map for @original_on_map");
+ is_deeply($around_map, \@original_around_map, 'Around map list should be returned unaltered if the limit is higher than the size of the on map list') or diag("Got @$around_map");
+
+ $limit = 3;
+ ($on_map, $around_map) = Page::apply_on_map_list_limit(\@original_on_map, \@original_around_map, $limit);
+ my @expected_on_map = ('a', 'b' ,'c');
+ my @expected_around_map = ( 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k');
+ is_deeply($on_map, \@expected_on_map, 'On map list is cropped to limit size') or diag("Got @$on_map");
+ is_deeply($around_map, \@expected_around_map, 'Around map list has extra items prepended') or diag("Got ");
+
+}
+
ok(test_base_url_with_lang() == 1, 'Ran all tests for base_url_with_lang');
ok(test_footer() == 1, 'Ran all tests for the footer function');
ok(test_header() == 1, 'Ran all tests for the header function');
ok(test_geocode_string() == 1, 'Ran all tests for the geocode_string function');
+ok(test_apply_on_map_list_limit() == 1, 'Ran all tests for apply_on_map_list_limit');