From 348da189c00bdef866d2b597ea0250fc0f0e88dc Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Sat, 27 Feb 2021 20:55:16 +0100 Subject: Added some test for hooks, Refectoring hooks module --- tests/test_hooks.py | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 tests/test_hooks.py (limited to 'tests/test_hooks.py') diff --git a/tests/test_hooks.py b/tests/test_hooks.py new file mode 100644 index 0000000..c7685ef --- /dev/null +++ b/tests/test_hooks.py @@ -0,0 +1,169 @@ +# ############################################################################ # +# # +# ::: :::::::: # +# test_hooks.py :+: :+: :+: # +# +:+ +:+ +:+ # +# By: cacharle +#+ +:+ +#+ # +# +#+#+#+#+#+ +#+ # +# Created: 2021/02/27 20:03:52 by cacharle #+# #+# # +# Updated: 2021/02/27 20:44:22 by cacharle ### ########.fr # +# # +# ############################################################################ # + +import pytest + +from minishell_test import config + +from minishell_test.hooks import ( + sort_lines, + error_line0, + discard, + export_singleton, + replace_double, + platform_status, + is_directory, + shlvl_0_to_1, + delete_escape, + error_eof_to_expected_token, + linux_discard, + should_not_be, +) + + +def test_sort_lines(): + assert "a\nb\nc" == sort_lines("a\nb\nc") + assert "a\nb\nc" == sort_lines("c\nb\na") + assert "a\nb\nc" == sort_lines("b\na\nc") + assert """\ +EDITOR=vim +GNUPGHOME=/home/cacharle/.local/share/gnupg +JUPYTER_CONFIG_DIR=/home/cacharle/.config/jupyter +LESSHISTFILE=- +LESS_TERMCAP_se=[0m +LESS_TERMCAP_so=[01;33m +SHELL=/usr/bin/zsh +XDG_CONFIG_HOME=/home/cacharle/.config +XDG_DATA_HOME=/home/cacharle/.local/share +XMONAD_CONFIG_HOME=/home/cacharle/.config/xmonad +XMONAD_DATA_HOME=/home/cacharle/.local/share/xmonad +_=/usr/bin/env\ +""" == sort_lines("""\ +SHELL=/usr/bin/zsh +LESSHISTFILE=- +JUPYTER_CONFIG_DIR=/home/cacharle/.config/jupyter +XMONAD_CONFIG_HOME=/home/cacharle/.config/xmonad +XMONAD_DATA_HOME=/home/cacharle/.local/share/xmonad +LESS_TERMCAP_se=[0m +LESS_TERMCAP_so=[01;33m +XDG_DATA_HOME=/home/cacharle/.local/share +XDG_CONFIG_HOME=/home/cacharle/.config +GNUPGHOME=/home/cacharle/.local/share/gnupg +EDITOR=vim +_=/usr/bin/env\ +""") + + +@pytest.mark.skip() +def test_error_line0(): + pass + + +def test_discard(): + assert "DISCARDED BY TEST" == discard("") + assert "DISCARDED BY TEST" == discard("foo") + + +def test_export_singleton(): + assert "" == export_singleton("declare -x IGOTNUMBERS42") + assert "" == export_singleton("declare -x IGOTUNDERSCORE__") + assert "" == export_singleton("declare -x I") + assert "" == export_singleton("declare -x _") + assert """\ +declare -x XDG_SESSION_TYPE="tty" +declare -x XDG_VTNR="1" +declare -x XINITRC="/home/cacharle/.config/x11/xinitrc" +declare -x XMONAD_CACHE_HOME="/home/cacharle/.cache/xmonad" +declare -x XMONAD_DATA_HOME="/home/cacharle/.local/share/xmonad" +declare -x YSU_MESSAGE_POSITION="after" +declare -x YSU_VERSION="1.7.3" +declare -x ZDOTDIR="/home/cacharle/.config/zsh"\ +""" == export_singleton("""\ +declare -x XDG_SESSION_ID +declare -x XDG_SESSION_TYPE="tty" +declare -x XDG_VTNR="1" +declare -x XINITRC="/home/cacharle/.config/x11/xinitrc" +declare -x XMONAD_CACHE_HOME="/home/cacharle/.cache/xmonad" +declare -x XMONAD_CONFIG_HOME +declare -x XMONAD_DATA_HOME="/home/cacharle/.local/share/xmonad" +declare -x YSU_MESSAGE_POSITION="after" +declare -x YSU_VERSION="1.7.3" +declare -x ZDOTDIR="/home/cacharle/.config/zsh"\ +""") + + prev = config.SHELL_REFERENCE_ARGS + config.SHELL_REFERENCE_ARGS = ['--posix'] + try: + assert "" == export_singleton("export IGOTNUMBERS42") + assert "" == export_singleton("export IGOTUNDERSCORE__") + assert "" == export_singleton("export I") + assert "" == export_singleton("export _") + assert """\ +export XDG_SESSION_TYPE="tty" +export XDG_VTNR="1" +export XINITRC="/home/cacharle/.config/x11/xinitrc" +export XMONAD_CACHE_HOME="/home/cacharle/.cache/xmonad" +export XMONAD_DATA_HOME="/home/cacharle/.local/share/xmonad" +export YSU_MESSAGE_POSITION="after" +export YSU_VERSION="1.7.3" +export ZDOTDIR="/home/cacharle/.config/zsh"\ +""" == export_singleton("""\ +export XDG_SESSION_ID +export XDG_SESSION_TYPE="tty" +export XDG_VTNR="1" +export XINITRC="/home/cacharle/.config/x11/xinitrc" +export XMONAD_CACHE_HOME="/home/cacharle/.cache/xmonad" +export XMONAD_CONFIG_HOME +export XMONAD_DATA_HOME="/home/cacharle/.local/share/xmonad" +export YSU_MESSAGE_POSITION="after" +export YSU_VERSION="1.7.3" +export ZDOTDIR="/home/cacharle/.config/zsh"\ +""") + finally: + config.SHELL_REFERENCE_ARGS = prev + + +def test_replace_double(): + assert "/" == replace_double("/")("//") + assert "//" == replace_double("/")("////") + assert "////" == replace_double("/")("////////") + assert ";" == replace_double(";")(";;") + assert ";;" == replace_double(";")(";;;;") + assert ";;;;" == replace_double(";")(";;;;;;;;") + + +@pytest.mark.skip() +def test_platform_status(): + pass + +@pytest.mark.skip() +def test_is_directory(): + pass + +@pytest.mark.skip() +def test_shlvl_0_to_1(): + pass + +@pytest.mark.skip() +def test_delete_escape(): + pass + +def test_error_eof_to_expected_token(): + assert "syntax error expected token" == error_eof_to_expected_token("-c: line 1: syntax error: unexpected end of file") + +@pytest.mark.skip() +def test_linux_discard(): + pass + +@pytest.mark.skip() +def test_should_not_be(): + pass -- cgit