The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl


package Class;
use Moose;
use strict;
use warnings;

use MooseX::Types::DateTime::ButMaintained qw(TimeZone);

has 'tz' => ( isa => TimeZone, is => 'rw', coerce => 1 );

package main;
use Test::More tests => 3;

my $o = Class->new;

foreach my $tz ( 'floating', 'America/Chicago' ) {
	eval {
		$o->tz( $tz );
	};
	ok( ! $@, "'$tz' timezone worked" );
}


## Not all systems can use local (has to successfuly detect)
eval { DateTime::TimeZone->new( name => 'local' ) };
SKIP: {
	skip "DateTime::TimeZone's local doesn't work on your system", 1 if $@;
	eval { $o->tz( 'local' ) };
	ok( ! $@, "'local' timezone worked" );
}

1;