diff options
Diffstat (limited to 't/pm/Wrap.plt')
-rw-r--r-- | t/pm/Wrap.plt | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/t/pm/Wrap.plt b/t/pm/Wrap.plt new file mode 100644 index 000000000..fdfdab3bf --- /dev/null +++ b/t/pm/Wrap.plt @@ -0,0 +1,102 @@ +# -*- mode:perl -*- +# Copyright (C) 2003-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 2, 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 <https://www.gnu.org/licenses/>. + +use Automake::Wrap qw/wrap makefile_wrap/; +use Test::Simple tests => 9; + +sub test_wrap +{ + my ($in, $exp_out) = @_; + + my $out = &wrap (@$in); + if ($out ne $exp_out) + { + print STDERR "For: @$in\nGot:\n$out\nInstead of:\n$exp_out\n---\n"; + return 1; + } + return 0; +} + +sub test_makefile_wrap +{ + my ($in, $exp_out) = @_; + my $out = &makefile_wrap (@$in); + if ($out ne $exp_out) + { + print STDERR "For: @$in\nGot:\n$out\nInstead of:\n$exp_out\n---\n"; + return 1; + } + return 0; +} + +my @tests = ( + [["HEAD:", "NEXT:", "CONT", 13, "v" ,"a", "l", "ue", "s", "values"], +"HEAD:v aCONT +NEXT:l ueCONT +NEXT:sCONT +NEXT:values +"], + [["rule: ", "\t", " \\", 20, "dep1" ,"dep2", "dep3", "dep4", "dep5", + "dep06", "dep07", "dep08"], +"rule: dep1 dep2 \\ +\tdep3 dep4 \\ +\tdep5 dep06 \\ +\tdep07 \\ +\tdep08 +"], + [["big header:", "big continuation:", " END", 5, "diag1", "diag2", "diag3"], +"big header:diag1 END +big continuation:diag2 END +big continuation:diag3 +"], + [["big header:", "cont: ", " END", 16, "word1", "word2"], +"big header: END +cont: word1 END +cont: word2 +"], + [["big header:", "", " END", 16, "w1", "w2 ", "w3"], +"big header: END +w1 w2 w3 +"]); + +my @makefile_tests = ( + [["target:"], +"target: +"], + [["target:", "\t"], +"target: +"], + [["target:", "\t", "prereq1", "prereq2"], +"target: prereq1 prereq2 +"], + [["target: ", "\t", "this is a long list of prerequisites ending in space", + "so that there is no need for another space before the backslash", + "unlike in the second line"], +"target: this is a long list of prerequisites ending in space \\ +\tso that there is no need for another space before the backslash \\ +\tunlike in the second line +"]); + +ok (test_wrap (@{$tests[0]}) == 0, 'test_wrap 0'); +ok (test_wrap (@{$tests[1]}) == 0, 'test_wrap 1'); +ok (test_wrap (@{$tests[2]}) == 0, 'test_wrap 2'); +ok (test_wrap (@{$tests[3]}) == 0, 'test_wrap 3'); +ok (test_wrap (@{$tests[4]}) == 0, 'test_wrap 4'); + +ok (test_makefile_wrap (@{$makefile_tests[0]}) == 0, 'test_makefile_wrap 0'); +ok (test_makefile_wrap (@{$makefile_tests[1]}) == 0, 'test_makefile_wrap 1'); +ok (test_makefile_wrap (@{$makefile_tests[2]}) == 0, 'test_makefile_wrap 2'); +ok (test_makefile_wrap (@{$makefile_tests[3]}) == 0, 'test_makefile_wrap 3'); |