diff options
author | Yan Pas <yanp.bugz@gmail.com> | 2018-10-07 19:54:16 +0300 |
---|---|---|
committer | Yan Pas <yanp.bugz@gmail.com> | 2018-10-07 19:55:10 +0300 |
commit | c7aa7a83ddbfb220d1613dabb27dc1e72eeb7385 (patch) | |
tree | 18d29505f0eb22e75dfab321f76a6bdc1ba28d49 | |
parent | 27467189ab184c5d098e244e01f7d1bfdb0d4d45 (diff) | |
download | pandoc-c7aa7a83ddbfb220d1613dabb27dc1e72eeb7385.tar.gz |
test suite and more secapes
-rw-r--r-- | src/Text/Pandoc/Readers/Man.hs | 5 | ||||
-rw-r--r-- | test/grofftest.sh | 22 |
2 files changed, 25 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Readers/Man.hs b/src/Text/Pandoc/Readers/Man.hs index 30076102b..0f84a01b3 100644 --- a/src/Text/Pandoc/Readers/Man.hs +++ b/src/Text/Pandoc/Readers/Man.hs @@ -179,9 +179,10 @@ escapeLexer = do escChar :: PandocMonad m => ManLexer m EscapeThing escChar = - let skipSeqs = ["%", "{", "}", "&"] + let skipSeqs = ["%", "{", "}", "&", "\n", ":", "\"", "0", "c"] subsSeqs = [ ("-", '-'), (" ", ' '), ("\\", '\\'), ("[lq]", '“'), ("[rq]", '”') - , ("[em]", '—'), ("[en]", '–') ] + , ("[em]", '—'), ("[en]", '–'), ("*(lq", '«'), ("*(rq", '»') + , ("t", '\t'), ("e", '\\') ] substitute :: PandocMonad m => (String,Char) -> ManLexer m EscapeThing substitute (from,to) = try $ string from >> return (EChar to) skip :: PandocMonad m => String -> ManLexer m EscapeThing diff --git a/test/grofftest.sh b/test/grofftest.sh new file mode 100644 index 000000000..2c559d21a --- /dev/null +++ b/test/grofftest.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +# iterates over specified directory, containing "\w+\.\d"-like files, +# executes pandoc voer them and prints stderr on nonzero return code + +if [ $# -ne 2 ]; then + echo "Not enough arguments" + exit 1 +fi + +PANDOC=$1 +DIR=$2 + +$PANDOC --version > /dev/null || { echo "pandoc executable error" >&2 ; exit 1 ; } + +ls $2 | egrep "^.+\.[0-9]$" | while read f ; do + FILE="$DIR/$f" + $PANDOC -f man -t native < $FILE > /dev/null + if [ $? -ne 0 ]; then + echo "Failed to convert $FILE" + fi +done |