File: Catmandu-Fix-trim.t

package info (click to toggle)
libcatmandu-perl 1.2024-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,552 kB
  • sloc: perl: 17,037; makefile: 24; sh: 1
file content (40 lines) | stat: -rw-r--r-- 1,071 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/usr/bin/env perl

use strict;
use warnings;
use Test::More;
use Test::Exception;

use utf8;

my $pkg;

BEGIN {
    $pkg = 'Catmandu::Fix::trim';
    use_ok $pkg;
}

is_deeply $pkg->new('name')->fix({name => "\tjoe  "}), {name => "joe"},
    "trim horizontal whitespace";

is_deeply $pkg->new('name', 'whitespace')->fix({name => "\cK / joe  "}),
    {name => "/ joe"}, "trim vertical whitespace";

is_deeply $pkg->new('name', 'nonword')->fix({name => "/\tjoe  .  "}),
    {name => "joe"}, "trim nonword characters";

is_deeply $pkg->new('id', 'whitespace')->fix({id => " 0423985325   "}),
    {id => "0423985325"}, "trim digit string";

is_deeply $pkg->new('name', 'whitespace')->fix({name => " 宮川   "}),
    {name => "宮川"}, "trim utf8 string";

is_deeply $pkg->new('names.*.name')
    ->fix({names => [{name => "\tjoe  "}, {name => "  rick  "}]}),
    {names => [{name => "joe"}, {name => "rick"}]}, "trim wildcard values";

is_deeply $pkg->new('name', 'diacritics')->fix({name => "français"}),
    {name => "francais"}, "trim utf8 string";

done_testing 8;