From 3496545358da0b95880615ead581c13f91b1b5f9 Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Sat, 1 Jan 2022 17:58:21 +0100 Subject: mflow: fixed lines were not wrapped, add test suite Reported by ninewise. --- t/4500-mflow.t | 166 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100755 t/4500-mflow.t (limited to 't/4500-mflow.t') diff --git a/t/4500-mflow.t b/t/4500-mflow.t new file mode 100755 index 0000000..879d6d4 --- /dev/null +++ b/t/4500-mflow.t @@ -0,0 +1,166 @@ +#!/bin/sh -e +cd ${0%/*} +. ./lib.sh +plan 12 + +rm -rf test.dir +mkdir test.dir +( +cd test.dir + +export PIPE_CONTENTTYPE='text/plain; format=flowed' +export COLUMNS=80 + +cat <a +this +is +flowed. +! +cat <b +this is flowed. +! +check 'simple reflow' 'mflow a +this +is +two spaces. +! +cat <b +this is two spaces. +! +check 'simple space stuffing' 'mflow a +this +is +flowed. +this is fixed. +! +cat <b +this is flowed. +this is fixed. +! +check 'simple fixed' 'mflow a +> this +> is +> quoted. +this +is +unquoted. +! +cat <b +> this is quoted. +this is unquoted. +! +check 'simple quoted' 'mflow a +> this +> is +> delsp. + +> double +> spaced +! +cat <b +> thisisdelsp. + +> double spaced +! +check 'simple delsp' 'mflow a +this +is +way more than eighty chars which is the terminal width to flow. +this +is +way more than eighty chars which is the terminal width to flow. +! +cat <b +this is way more than eighty chars which is the terminal width to flow. this is +way more than eighty chars which is the terminal width to flow. +! +check 'simple wrap' 'mflow a +this +is +way more than eighty chars which is the terminal width to flow. +averylongwordcomeshere. +this +is +way more than eighty chars which is the terminal width to flow. +! +cat <b +this is way more than eighty chars which is the terminal width to flow. +averylongwordcomeshere. this is way more than eighty chars which is the +terminal width to flow. +! +check 'more complex wrap' 'mflow a +foo +bar. + +quux. +! +cat <b +foo bar. + +quux. +! +check 'space before empty line' 'mflow a +Aaaaa bbbbb ccccc ddddd eeeee aaaaa bbbbb ccccc ddddd eeeee +aaaaa bbbbb ccccc ddddd eeeee aaaaa bbbbb ccccc ddddd eeeee +aaaaa bbbbb ccccc +ffffff gggggg hhhhhh iiiiii. +! +cat <b +Aaaaa bbbbb ccccc ddddd eeeee aaaaa bbbbb ccccc ddddd eeeee aaaaa bbbbb ccccc +ddddd eeeee aaaaa bbbbb ccccc ddddd eeeee aaaaa bbbbb ccccc ffffff gggggg +hhhhhh iiiiii. +! +check 'fixed lines are wrapped too' 'mflow a +some +wrapped. +-- +signature +! +cat <b +some wrapped. +-- +signature +! +check 'passes usenet signature marker as is' 'mflow a +some regular text being force wrapped because the line is way too long oh no who writes so long lines. +! +cat <b +some regular text being force wrapped because the line is way too long oh no +who writes so long lines. +! +check 'force wrapping' 'mflow -f a +> some regular text being force wrapped because the line is way too long oh no who writes so long lines. +! +cat <b +> some regular text being force wrapped because the line is way too long oh no +> who writes so long lines. +! +check 'force wrapping of quoted text' 'mflow -f