summaryrefslogtreecommitdiff
path: root/t/pm/Utils.pl
blob: 2ccb3635f65779d2bed457799e710e75b25106ed (plain)
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
# Copyright (C) 2018  Free Software Foundation, Inc.

# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
use Automake::Utils;

sub check_subst
{
  my @inputs = qw (AC_FOO AC_BAR AC_BAZ);
  my @expected_outputs = map {
    (my $exp = $_) =~ s/(.*)/\@$1\@/;
    $exp;
  } @inputs;

  for my $i (0 .. $#inputs)
    {
      return 1 if (subst $inputs[$i]) ne $expected_outputs[$i];
    }
  return 0;
}

sub check_flatten
{
  my $test_str = "\

  Aliquam posuere.  Nunc aliquet, augue nec adipiscing interdum, lacus tellus
malesuada massa, quis varius mi purus     non odio.  Pellentesque condimentum,

magna ut suscipit hendrerit, ipsum augue ornare nulla,  non luctus diam neque

sit amet urna.  Curabitur vulputate vestibulum lorem.  Fusce sagittis, libero
  non molestie mollis, magna orci ultrices dolor, at vulputate neque nulla
lacinia eros.
";

  my $expected_res = "Aliquam posuere. Nunc aliquet, augue nec adipiscing interdum, lacus tellus malesuada massa, quis varius mi purus non odio. Pellentesque condimentum, magna ut suscipit hendrerit, ipsum augue ornare nulla, non luctus diam neque sit amet urna. Curabitur vulputate vestibulum lorem. Fusce sagittis, libero non molestie mollis, magna orci ultrices dolor, at vulputate neque nulla lacinia eros.";

  return 1 if (flatten $test_str) ne $expected_res;
  return 0;

}

exit (check_subst || check_flatten);