2 # Exercise the fmt -g option.
4 # Copyright (C) 2012-2023 Free Software Foundation, Inc.
6 # This program is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program. If not, see <https://www.gnu.org/licenses/>.
19 .
"${srcdir=.}/tests/init.sh"; path_prepend_ .
/src
22 cat <<\_EOF_
> base || framework_failure_
24 @
command{fmt} prefers breaking lines
at the end of a sentence
, and tries to
25 avoid line breaks after the first word of a sentence or before the last word
26 of a sentence. A @dfn
{sentence
break} is defined as either the end of a
27 paragraph or a word ending
in any of @samp
{.?
!}, followed by two spaces or end
28 of line
, ignoring any intervening parentheses or quotes. Like @TeX
{},
29 @
command{fmt} reads entire
''paragraphs
'' before choosing line breaks
; the
30 algorithm is a variant of that given by
31 Donald E. Knuth and Michael F. Plass
32 in ''Breaking Paragraphs Into Lines
'',
33 @cite
{Software---Practice
& Experience
}
34 @b
{11}, 11 (November
1981), 1119--1184.
37 fmt -g 60 -w 72 base
> out || fail
=1
39 cat <<\_EOF_
> exp || framework_failure_
41 @
command{fmt} prefers breaking lines
at the end of a sentence
,
42 and tries to avoid line breaks after the first word of a sentence
43 or before the last word of a sentence. A @dfn
{sentence
break}
44 is defined as either the end of a paragraph or a word ending
45 in any of @samp
{.?
!}, followed by two spaces or end of line
,
46 ignoring any intervening parentheses or quotes. Like @TeX
{},
47 @
command{fmt} reads entire
''paragraphs
'' before choosing line
48 breaks
; the algorithm is a variant of that given by Donald
49 E. Knuth and Michael F. Plass
in ''Breaking Paragraphs Into
50 Lines
'', @cite
{Software---Practice
& Experience
} @b
{11}, 11
51 (November
1981), 1119--1184.
54 compare exp out || fail
=1