/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* parse_simple_cmds.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: khais +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/02/21 12:20:20 by khais #+# #+# */ /* Updated: 2025/02/21 12:49:55 by khais ### ########.fr */ /* */ /* ************************************************************************** */ #include #include "../src/parser/simple_cmd/simple_cmd.h" #include "../src/parser/wordsplit/wordsplit.h" #include "../src/parser/wordlist/wordlist.h" #include "testutil.h" static t_simple_cmd *parse_simple_cmd(char *input) { t_wordlist *words = minishell_wordsplit(input); t_simple_cmd *cmd = simple_cmd_from_wordlist(words); return (cmd); } static void test_parse_empty_command(void) { t_simple_cmd *cmd = parse_simple_cmd(""); assert(cmd != NULL); simple_cmd_destroy(cmd); } static void test_parse_nonempty_command(void) { t_simple_cmd *cmd = parse_simple_cmd("echo Hello World!"); assert(cmd != NULL); assert_strequal("echo", wordlist_get(cmd->words, 0)->word); assert_strequal("Hello", wordlist_get(cmd->words, 1)->word); assert_strequal("World!", wordlist_get(cmd->words, 2)->word); simple_cmd_destroy(cmd); } int main(void) { test_parse_empty_command(); test_parse_nonempty_command(); return (0); }