diff options
Diffstat (limited to 't/Page.t')
-rwxr-xr-x | t/Page.t | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/t/Page.t b/t/Page.t deleted file mode 100755 index a1ae7f3aa..000000000 --- a/t/Page.t +++ /dev/null @@ -1,107 +0,0 @@ -#!/usr/bin/perl -w -# -# Page.t: -# Tests for the Page functions -# -# Copyright (c) 2009 UK Citizens Online Democracy. All rights reserved. -# Email: louise@mysociety.org; WWW: http://www.mysociety.org/ -# -# $Id: Page.t,v 1.12 2009-12-09 13:34:36 louise Exp $ -# - -use strict; -use warnings; -use Test::More tests => 13; -use Test::Exception; - -use FindBin; -use lib "$FindBin::Bin"; -use lib "$FindBin::Bin/../perllib"; -use lib "$FindBin::Bin/../commonlib/perllib"; - -use Page; -use FixMyStreet::Geocode; -use mySociety::MockQuery; -use mySociety::Locale; - -sub mock_query(){ - my $q = new MockQuery('mysite'); - return $q; -} - -sub set_lang($) { - my $lang = shift; - mySociety::Locale::negotiate_language($lang); - mySociety::Locale::gettext_domain('FixMyStreet'); - mySociety::Locale::change(); -} - -sub test_geocode_string() { - my %params = (); - my $q = new MockQuery( 'nosite', \%params ); - - # geocode a straightforward string, expect success - my ( $latitude, $longitude, $error ) = - FixMyStreet::Geocode::string( 'Buckingham Palace', $q ); - is( $latitude, 51.5013639, 'example easting generated' ); - is( $longitude, -0.1418898, 'example northing generated' ); - is( $error, undef, 'should not generate error for simple example' ); - - # expect a failure message for Northern Ireland - ( $latitude, $longitude, $error ) = - FixMyStreet::Geocode::string( 'Falls Road, Belfast', $q ); - is( - $error, - "We do not cover Northern Ireland, I'm afraid, as our licence doesn't " - . "include any maps for the region.", - 'error message produced for NI location' - ); -} - -sub test_header() { - my $q = mock_query(); - my $html; - my %params = (title => 'test title'); - set_lang('en-gb,English,en_GB'); - - # Test that param that isn't explicitly allowed raises error - $params{'test-param'} = 'test'; - throws_ok { Page::header($q, %params); } qr/bad parameter/, 'bad parameter caught ok'; - delete $params{'test-param'}; - - # Test that template passed is rendered - $params{'template'} = 'test'; - $html = Page::template_include('test-header', $q, - '/../t/templates/' . $q->{site} . '/', - title => 'My test title', lang => 'en-gb' - ); - - like ($html, qr/My test header template/, 'named template rendered ok'); - - return 1; -} - -sub test_footer(){ - return 1; -} - -sub test_base_url_with_lang { - set_lang('en-gb,English,en_GB'); - my $q = mock_query(); - my $url = Page::base_url_with_lang($q); - ok($url eq 'http://mysite.example.com', 'Basic url rendered ok'); - - $q = new MockQuery('emptyhomes'); - $url = Page::base_url_with_lang($q); - like($url, qr/http:\/\/en\.emptyhomes\./, 'Empty homes url with lang returned ok'); - - $url = Page::base_url_with_lang($q, 1); - like($url, qr/http:\/\/cy\.emptyhomes\./, 'Empty homes url with lang reversed returned ok'); - -} - - -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'); |