Changeset 560


Ignore:
Timestamp:
Nov 24, 2004, 1:17:29 AM (17 years ago)
Author:
kake
Message:

Don't let nodes get written with blank os_x fields (etc).

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/OpenGuides/Template.pm

    r559 r560  
    356356                $os_y = $point->northing;
    357357            }
    358             %vars = (
    359                       %vars,
    360                       latitude  => $lat,
    361                       longitude => $long,
    362                       os_x      => $os_x,
    363                       os_y      => $os_y,
    364                     );
     358            if ( $os_x && $os_y ) {
     359                %vars = (
     360                          %vars,
     361                          latitude  => $lat,
     362                          longitude => $long,
     363                          os_x      => $os_x,
     364                          os_y      => $os_y,
     365                        );
     366            }
    365367            if ( $args{set_coord_field_vars} ) {
    366368                %vars = (
     
    400402                $osie_y = $point->northing;
    401403            }
    402             %vars = (
    403                       %vars,
    404                       latitude  => $lat,
    405                       longitude => $long,
    406                       osie_x    => $osie_x,
    407                       osie_y    => $osie_y,
    408                     );
     404            if ( $osie_x && $osie_y ) {
     405                %vars = (
     406                          %vars,
     407                          latitude  => $lat,
     408                          longitude => $long,
     409                          osie_x    => $osie_x,
     410                          osie_y    => $osie_y,
     411                        );
     412            }
    409413            if ( $args{set_coord_field_vars} ) {
    410414                %vars = (
  • trunk/t/25_write_geo_data.t

    r559 r560  
    2929}
    3030
    31 plan tests => 33;
     31plan tests => 53;
    3232
    3333# Clear out the database from any previous runs.
     
    8383is( $data{metadata}{longitude}[0], -0.097, "longitude stored correctly" );
    8484
     85eval {
     86    local $SIG{__WARN__} = sub { die $_[0]; };
     87    write_data(
     88                guide      => $guide,
     89                node       => "Locationless Page 1",
     90              );
     91};
     92is( $@, "",
     93    "commit doesn't warn when using BNG and node has no location data" );
     94%data = $guide->wiki->retrieve_node( "Locationless Page 1" );
     95ok( !defined $data{metadata}{latitude}[0],  "...and latitude not stored" );
     96ok( !defined $data{metadata}{longitude}[0], "...nor longitude" );
     97ok( !defined $data{metadata}{os_x}[0],      "...nor os_x" );
     98ok( !defined $data{metadata}{os_y}[0],      "...nor os_y" );
     99ok( !defined $data{metadata}{osie_x}[0],    "...nor osie_x" );
     100ok( !defined $data{metadata}{osie_y}[0],    "...nor osie_y" );
     101
    85102# Now check Irish National Grid.
    86103$config->{_}{geo_handler} = 2;
     
    115132is( $data{metadata}{longitude}[0], -5.6731, "longitude stored correctly" );
    116133
     134eval {
     135    local $SIG{__WARN__} = sub { die $_[0]; };
     136    write_data(
     137                guide      => $guide,
     138                node       => "Locationless Page 2",
     139              );
     140};
     141is( $@, "",
     142    "commit doesn't warn when using ING and node has no location data" );
     143%data = $guide->wiki->retrieve_node( "Locationless Page 2" );
     144ok( !defined $data{metadata}{latitude}[0],  "...and latitude not stored" );
     145ok( !defined $data{metadata}{longitude}[0], "...nor longitude" );
     146ok( !defined $data{metadata}{os_x}[0],      "...nor os_x" );
     147ok( !defined $data{metadata}{os_y}[0],      "...nor os_y" );
     148ok( !defined $data{metadata}{osie_x}[0],    "...nor osie_x" );
     149ok( !defined $data{metadata}{osie_y}[0],    "...nor osie_y" );
     150
    117151# Finally check UTM.
    118152$config->{_}{geo_handler} = 3;
     
    140174    write_data(
    141175                guide      => $guide,
    142                 node       => "Locationless Page",
     176                node       => "Locationless Page 3",
    143177              );
    144178};
    145179is( $@, "",
    146180    "commit doesn't warn when using UTM and node has no location data" );
     181%data = $guide->wiki->retrieve_node( "Locationless Page 3" );
     182ok( !defined $data{metadata}{latitude}[0],  "...and latitude not stored" );
     183ok( !defined $data{metadata}{longitude}[0], "...nor longitude" );
     184ok( !defined $data{metadata}{os_x}[0],      "...nor os_x" );
     185ok( !defined $data{metadata}{os_y}[0],      "...nor os_y" );
     186ok( !defined $data{metadata}{osie_x}[0],    "...nor osie_x" );
     187ok( !defined $data{metadata}{osie_y}[0],    "...nor osie_y" );
     188
    147189
    148190sub write_data {
Note: See TracChangeset for help on using the changeset viewer.