#!/usr/bin/perl # ------------------------------------------------------------------------------- # test harness for Data::Validate::is_email # # Author: Richard Sonnen (http://www.richardsonnen.com/) # ------------------------------------------------------------------------------- use lib './t'; use ExtUtils::TBone; use lib './blib'; use Data::Validate::Email qw(is_email); my $t = ExtUtils::TBone->typical(); $t->begin(13); $t->msg("testing is_email..."); # valid $t->ok(defined(is_email('bob@test.com')), 'bob@test.com'); $t->ok(defined(is_email('bob@test.com.au')), 'bob@test.com.au'); $t->ok(defined(is_email('foo.bob@test.com.au')), 'foo.bob@test.com.au'); $t->ok(defined(is_email('foo-bob@test-com.au')), 'foo-bob@test-com.au'); $t->ok(defined(is_email('foo-bob@test.uk')), 'foo-bob@test.uk'); # invalid $t->ok(!defined(is_email('')), "bad: ''"); $t->ok(!defined(is_email('foo')), 'bad: foo'); $t->ok(!defined(is_email('foo@bar')), 'bad: foo@bar'); $t->ok(!defined(is_email('foo bar@bar.com')), 'bad: foo bar@bar.com'); # test passthrough to Data::Validate::Domain $t->ok(defined(is_email('test@com', {domain_allow_single_label => 1})), 'single-label test'); $t->ok(defined(is_email('test@bob.foo', {domain_private_tld => {foo => 1}})), 'private TLD test'); # as an object my $v = Data::Validate::Email->new(); $t->ok(defined($v->is_email('bob@test.com')), 'bob@test.com (object)'); $t->ok(!defined($v->is_email('foo bar@bar.com')), 'bad: foo bar@bar.com (object)'); # we're done $t->end();