diff --git a/misc/completion/ocrmypdf.bash b/misc/completion/ocrmypdf.bash index d3bc6b80..1b550da9 100644 --- a/misc/completion/ocrmypdf.bash +++ b/misc/completion/ocrmypdf.bash @@ -1,5 +1,7 @@ # ocrmypdf completion -*- shell-script -*- +set -o errexit + _ocrmypdf() { local cur prev cword words split @@ -84,4 +86,6 @@ _ocrmypdf() } && complete -F _ocrmypdf ocrmypdf +set +o errexit + # ex: filetype=sh diff --git a/tests/test_completion.py b/tests/test_completion.py new file mode 100644 index 00000000..8fdbb59a --- /dev/null +++ b/tests/test_completion.py @@ -0,0 +1,48 @@ +# © 2019 James R. Barlow: github.com/jbarlow83 +# +# This file is part of OCRmyPDF. +# +# OCRmyPDF 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. +# +# OCRmyPDF 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 OCRmyPDF. If not, see . + +from subprocess import run, PIPE + +import pytest + + +def test_fish(): + try: + proc = run( + ['fish', '-n', 'misc/completion/ocrmypdf.fish'], + check=True, + encoding='utf-8', + stdout=PIPE, + stderr=PIPE, + ) + assert proc.stderr == '', proc.stderr + except FileNotFoundError: + pytest.xfail('fish is not installed') + + +def test_bash(): + try: + proc = run( + ['bash', '-n', 'misc/completion/ocrmypdf.bash'], + check=True, + encoding='utf-8', + stdout=PIPE, + stderr=PIPE, + ) + assert proc.stderr == '', proc.stderr + except FileNotFoundError: + pytest.xfail('bash is not installed')