# Copyright (C) 2013-2021 all contributors <meta@public-inbox.org>
# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
use strict;
use Test::More;
use PublicInbox::TestCommon;
require_mods('Plack::Util');
use_ok 'PublicInbox::View';

# this only tests View.pm internals which are subject to change,
# see t/plack.t for tests against the PSGI interface.

my $cols = PublicInbox::View::COLS();
my @addr;
until (length(join(', ', @addr)) > ($cols * 2)) {
	push @addr, '"l, f" <a@a>';
	my $n = int(rand(20)) + 1;
	push @addr, ('x'x$n).'@x';
}
my $orig = join(', ', @addr);
my $res = PublicInbox::View::fold_addresses($orig.'');
isnt($res, $orig, 'folded result');
unlike($res, qr/l,\n\tf/s, '"last, first" no broken');
my @nospc = ($res, $orig);
s/\s+//g for @nospc;
is($nospc[0], $nospc[1], 'no addresses lost in translation');
my $tws = PublicInbox::View::fold_addresses($orig.' ');
# (Email::Simple drops leading whitespace, but not trailing)
$tws =~ s/ \z//;
is($tws, $res, 'not thrown off by trailing whitespace');

done_testing();
