File: 11modif.t

package info (click to toggle)
libstring-print-perl 0.96-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 184 kB
  • sloc: perl: 781; makefile: 2
file content (33 lines) | stat: -rw-r--r-- 699 bytes parent folder | download
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
#!/usr/bin/env perl
# Check modifiers

use warnings;
use strict;
use utf8;

use Test::More;

use String::Print;
my $pi = 3.1415;

sub money($$$$)
{   my ($formatter, $modif, $value, $args) = @_;
    # warn "($formatter, $modif, $value, $args)\n";

      $modif eq '€' ? sprintf("%.2f EUR", $value)
    : $modif eq '₤' ? sprintf("%.2f PND", $value/1.23)
    :                 'ERROR';
}

my $g = String::Print->new
  ( modifiers => [ qr/[€₤]/ => \&money ]
  );

isa_ok($g, 'String::Print');

is $g->sprinti("a={p€}", p => $pi), "a=3.14 EUR";
is $g->sprinti("b={p₤}", p => $pi), "b=2.55 PND";

is $g->sprinti("a={p€%10s}", p => $pi), "a=  3.14 EUR", 'stacking modifiers';

done_testing;