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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
#!/usr/bin/perl
use strict;
use warnings;
use Test::More 'no_plan';
use Test::LongString;
BEGIN {
use_ok('Text::Flow::Wrap');
}
my $wrapper = Text::Flow::Wrap->new(
check_width => sub { length($_[0]) < 70 },
);
my $orig_text = join "" => <DATA>;
is_string(
$wrapper->wrap($orig_text),
q{Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Duis
lobortis nisl in ante. Vestibulum dignissim facilisis turpis. Nunc
rutrum sapien sed eros. Donec facilisis placerat dui. Vestibulum
ante ipsum primis in faucibus orci luctus et ultrices posuere
cubilia Curae; Aenean convallis, urna eget mattis accumsan, dolor
augue condimentum est, id aliquam pede eros eget metus. Proin felis.
Nam hendrerit velit et lorem. Nulla ac mauris in nibh ornare porta.
Fusce sodales porta orci. Aenean dolor. Proin nec ligula non eros
tristique interdum. Sed aliquet ipsum vel leo. Cras a urna vel
tortor molestie tincidunt. Aenean risus. Quisque luctus ipsum sit
amet massa. Class aptent taciti sociosqu ad litora torquent per
conubia nostra, per inceptos hymenaeos. Nam lacus mauris, sagittis
volutpat, rutrum eget, commodo non, elit.},
'... the string wrapped successfully');
# shorten it ...
$wrapper->check_width(sub { length($_[0]) < 45 });
is_string(
$wrapper->wrap($orig_text),
q{Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Duis lobortis nisl in
ante. Vestibulum dignissim facilisis
turpis. Nunc rutrum sapien sed eros. Donec
facilisis placerat dui. Vestibulum ante
ipsum primis in faucibus orci luctus et
ultrices posuere cubilia Curae; Aenean
convallis, urna eget mattis accumsan, dolor
augue condimentum est, id aliquam pede eros
eget metus. Proin felis. Nam hendrerit
velit et lorem. Nulla ac mauris in nibh
ornare porta. Fusce sodales porta orci.
Aenean dolor. Proin nec ligula non eros
tristique interdum. Sed aliquet ipsum vel
leo. Cras a urna vel tortor molestie
tincidunt. Aenean risus. Quisque luctus
ipsum sit amet massa. Class aptent taciti
sociosqu ad litora torquent per conubia
nostra, per inceptos hymenaeos. Nam lacus
mauris, sagittis volutpat, rutrum eget,
commodo non, elit.},
'... the string wrapped successfully');
# shorten it again ...
$wrapper->check_width(sub { length($_[0]) < 25 });
is_string(
$wrapper->wrap($orig_text),
q{Lorem ipsum dolor sit
amet, consectetuer
adipiscing elit. Duis
lobortis nisl in ante.
Vestibulum dignissim
facilisis turpis. Nunc
rutrum sapien sed eros.
Donec facilisis
placerat dui.
Vestibulum ante ipsum
primis in faucibus orci
luctus et ultrices
posuere cubilia Curae;
Aenean convallis, urna
eget mattis accumsan,
dolor augue condimentum
est, id aliquam pede
eros eget metus. Proin
felis. Nam hendrerit
velit et lorem. Nulla
ac mauris in nibh
ornare porta. Fusce
sodales porta orci.
Aenean dolor. Proin nec
ligula non eros
tristique interdum. Sed
aliquet ipsum vel leo.
Cras a urna vel tortor
molestie tincidunt.
Aenean risus. Quisque
luctus ipsum sit amet
massa. Class aptent
taciti sociosqu ad
litora torquent per
conubia nostra, per
inceptos hymenaeos. Nam
lacus mauris, sagittis
volutpat, rutrum eget,
commodo non, elit.},
'... the string wrapped successfully');
__DATA__
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Duis lobortis nisl in ante. Vestibulum dignissim facilisis turpis. Nunc rutrum sapien sed eros. Donec facilisis placerat dui. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aenean convallis, urna eget mattis accumsan, dolor augue condimentum est, id aliquam pede eros eget metus. Proin felis. Nam hendrerit velit et lorem. Nulla ac mauris in nibh ornare porta. Fusce sodales porta orci. Aenean dolor. Proin nec ligula non eros tristique interdum. Sed aliquet ipsum vel leo. Cras a urna vel tortor molestie tincidunt. Aenean risus. Quisque luctus ipsum sit amet massa. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Nam lacus mauris, sagittis volutpat, rutrum eget, commodo non, elit.
|