diff options
| author | Murilo Ijanc <[email protected]> | 2026-07-26 14:40:05 -0300 |
|---|---|---|
| committer | Murilo Ijanc <[email protected]> | 2026-07-26 14:40:05 -0300 |
| commit | 0bc578d6d334c7f1ccaf329cd61bb8bce76b7f59 (patch) | |
| tree | 86f73108f0432fd8330edcaab8b8ae7018322dee /t/01-normalize.t | |
| download | perl-0.1.0.tar.gz | |
Initial importv0.1.0
Diffstat (limited to 't/01-normalize.t')
| -rw-r--r-- | t/01-normalize.t | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/t/01-normalize.t b/t/01-normalize.t new file mode 100644 index 0000000..bf8a85f --- /dev/null +++ b/t/01-normalize.t @@ -0,0 +1,32 @@ +use strict; +use warnings; + +use Test::More; + +use Cepis; + +for my $value ( '01001000', '01001-000', ' 01001-000 ', '01001.000' ) { + is( Cepis::normalize_cep($value), '01001000', "'$value' normalises" ); +} + +for my $value ( '', '123', '0100100a', '010010000', 'abcdefgh', '0100 1000x' ) { + my $ok = eval { Cepis::normalize_cep($value); 1 }; + ok( !$ok, "'$value' is rejected" ); + isa_ok( $@, 'Cepis::Error::InvalidCEP' ); +} + +for my $value ( undef, [], {}, \'x' ) { + my $ok = eval { Cepis::normalize_cep($value); 1 }; + ok( !$ok, 'a non-string is rejected' ); + isa_ok( $@, 'Cepis::Error::InvalidCEP' ); +} + +my $ok = eval { Cepis::normalize_cep('123'); 1 }; +ok( !$ok, 'malformed CEP throws' ); +ok( ref $@ && $@->isa('Cepis::Error'), 'one isa test catches everything' ); +like( "$@", qr/8 digits/, 'the error stringifies to its message' ); + +is( Cepis::Client::normalize_cep('01001-000'), + '01001000', 'the function is also reachable on Cepis::Client' ); + +done_testing(); |