1
0
Fork 0

Renamed parser.c -> command_parser.c

Included in command.h
This commit is contained in:
James Booth 2013-01-28 01:43:43 +00:00
parent c72d7ad6a6
commit 1d5046bc97
7 changed files with 94 additions and 123 deletions

View File

@ -8,7 +8,7 @@ profanity_SOURCES = src/command.c src/contact.c src/command_history.c src/xmpp.h
src/main.c src/profanity.h src/history.h src/chat_log.c \
src/chat_log.h src/tinyurl.c src/tinyurl.h src/chat_session.c \
src/chat_session.h src/release.c src/release.h src/muc.c \
src/muc.h src/xmpp_stanza.c src/parser.c src/parser.h \
src/muc.h src/xmpp_stanza.c src/command_parser.c \
src/theme.c src/theme.h src/window.c src/window.h src/xdg_base.c \
src/xdg_base.h src/files.c src/files.h src/accounts.c src/accounts.h \
src/jid.h src/jid.c src/xmpp_caps.c src/xmpp_iq.c
@ -18,7 +18,7 @@ check_PROGRAMS = tests/testsuite
tests_testsuite_SOURCES = tests/test_contact_list.c src/contact_list.c src/contact.c \
tests/test_common.c tests/test_history.c src/history.c src/common.c \
tests/test_autocomplete.c src/autocomplete.c tests/testsuite.c \
tests/test_parser.c src/parser.c tests/test_jid.c src/jid.c
tests/test_parser.c src/command_parser.c tests/test_jid.c src/jid.c
tests_testsuite_LDADD = -lheadunit -lstdc++
man_MANS = docs/profanity.1

View File

@ -36,7 +36,6 @@
#include "chat_log.h"
#include "jid.h"
#include "log.h"
#include "parser.h"
#include "preferences.h"
#include "autocomplete.h"
#include "profanity.h"

View File

@ -50,4 +50,7 @@ void cmd_history_append(char *inp);
char *cmd_history_previous(char *inp, int *size);
char *cmd_history_next(char *inp, int *size);
gchar** parse_args(const char * const inp, int min, int max);
gchar** parse_args_with_freetext(const char * const inp, int min, int max);
#endif

View File

@ -1,5 +1,5 @@
/*
* parser.c
* command_parser.c
*
* Copyright (C) 2012, 2013 James Booth <boothj5@gmail.com>
*

View File

@ -1,31 +0,0 @@
/*
* parser.h
*
* Copyright (C) 2012, 2013 James Booth <boothj5@gmail.com>
*
* This file is part of Profanity.
*
* Profanity 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.
*
* Profanity 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 Profanity. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef PARSER_H
#define PARSER_H
#include <glib.h>
gchar** parse_args(const char * const inp, int min, int max);
gchar** parse_args_with_freetext(const char * const inp, int min, int max);
#endif

View File

@ -4,214 +4,214 @@
void previous_on_empty_returns_null(void)
{
PHistory history = p_history_new(10);
char *item = p_history_previous(history, "inp");
History history = history_new(10);
char *item = history_previous(history, "inp");
assert_is_null(item);
}
void next_on_empty_returns_null(void)
{
PHistory history = p_history_new(10);
char *item = p_history_next(history, "inp");
History history = history_new(10);
char *item = history_next(history, "inp");
assert_is_null(item);
}
void previous_once_returns_last(void)
{
PHistory history = p_history_new(10);
p_history_append(history, "Hello");
History history = history_new(10);
history_append(history, "Hello");
char *item = p_history_previous(history, "inp");
char *item = history_previous(history, "inp");
assert_string_equals("Hello", item);
}
void previous_twice_when_one_returns_first(void)
{
PHistory history = p_history_new(10);
p_history_append(history, "Hello");
History history = history_new(10);
history_append(history, "Hello");
char *item1 = p_history_previous(history, NULL);
char *item2 = p_history_previous(history, item1);
char *item1 = history_previous(history, NULL);
char *item2 = history_previous(history, item1);
assert_string_equals("Hello", item2);
}
void previous_always_stops_at_first(void)
{
PHistory history = p_history_new(10);
p_history_append(history, "Hello");
History history = history_new(10);
history_append(history, "Hello");
char *item1 = p_history_previous(history, NULL);
char *item2 = p_history_previous(history, item1);
char *item3 = p_history_previous(history, item2);
char *item4 = p_history_previous(history, item3);
char *item5 = p_history_previous(history, item4);
char *item6 = p_history_previous(history, item5);
char *item1 = history_previous(history, NULL);
char *item2 = history_previous(history, item1);
char *item3 = history_previous(history, item2);
char *item4 = history_previous(history, item3);
char *item5 = history_previous(history, item4);
char *item6 = history_previous(history, item5);
assert_string_equals("Hello", item6);
}
void previous_goes_to_correct_element(void)
{
PHistory history = p_history_new(10);
p_history_append(history, "Hello");
p_history_append(history, "world");
p_history_append(history, "whats");
p_history_append(history, "going");
p_history_append(history, "on");
p_history_append(history, "here");
History history = history_new(10);
history_append(history, "Hello");
history_append(history, "world");
history_append(history, "whats");
history_append(history, "going");
history_append(history, "on");
history_append(history, "here");
char *item1 = p_history_previous(history, NULL);
char *item2 = p_history_previous(history, item1);
char *item3 = p_history_previous(history, item2);
char *item1 = history_previous(history, NULL);
char *item2 = history_previous(history, item1);
char *item3 = history_previous(history, item2);
assert_string_equals("going", item3);
}
void prev_then_next_returns_empty(void)
{
PHistory history = p_history_new(10);
p_history_append(history, "Hello");
History history = history_new(10);
history_append(history, "Hello");
char *item1 = p_history_previous(history, NULL);
char *item2 = p_history_next(history, item1);
char *item1 = history_previous(history, NULL);
char *item2 = history_next(history, item1);
assert_string_equals("", item2);
}
void prev_with_val_then_next_returns_val(void)
{
PHistory history = p_history_new(10);
p_history_append(history, "Hello");
History history = history_new(10);
history_append(history, "Hello");
char *item1 = p_history_previous(history, "Oioi");
char *item2 = p_history_next(history, item1);
char *item1 = history_previous(history, "Oioi");
char *item2 = history_next(history, item1);
assert_string_equals("Oioi", item2);
}
void prev_with_val_then_next_twice_returns_val(void)
{
PHistory history = p_history_new(10);
p_history_append(history, "Hello");
History history = history_new(10);
history_append(history, "Hello");
char *item1 = p_history_previous(history, "Oioi");
char *item2 = p_history_next(history, item1);
char *item3 = p_history_next(history, item2);
char *item1 = history_previous(history, "Oioi");
char *item2 = history_next(history, item1);
char *item3 = history_next(history, item2);
assert_string_equals("Oioi", item3);
}
void navigate_then_append_new(void)
{
PHistory history = p_history_new(10);
p_history_append(history, "Hello");
p_history_append(history, "again");
p_history_append(history, "testing");
p_history_append(history, "history");
p_history_append(history, "append");
History history = history_new(10);
history_append(history, "Hello");
history_append(history, "again");
history_append(history, "testing");
history_append(history, "history");
history_append(history, "append");
char *item1 = p_history_previous(history, "new text");
char *item1 = history_previous(history, "new text");
assert_string_equals("append", item1);
char *item2 = p_history_previous(history, item1);
char *item2 = history_previous(history, item1);
assert_string_equals("history", item2);
char *item3 = p_history_previous(history, item2);
char *item3 = history_previous(history, item2);
assert_string_equals("testing", item3);
char *item4 = p_history_next(history, item3);
char *item4 = history_next(history, item3);
assert_string_equals("history", item4);
char *item5 = p_history_next(history, item4);
char *item5 = history_next(history, item4);
assert_string_equals("append", item5);
char *item6 = p_history_next(history, item5);
char *item6 = history_next(history, item5);
assert_string_equals("new text", item6);
}
void edit_item_mid_history(void)
{
PHistory history = p_history_new(10);
p_history_append(history, "Hello");
p_history_append(history, "again");
p_history_append(history, "testing");
p_history_append(history, "history");
p_history_append(history, "append");
History history = history_new(10);
history_append(history, "Hello");
history_append(history, "again");
history_append(history, "testing");
history_append(history, "history");
history_append(history, "append");
char *item1 = p_history_previous(history, "new item");
char *item1 = history_previous(history, "new item");
assert_string_equals("append", item1);
char *item2 = p_history_previous(history, item1);
char *item2 = history_previous(history, item1);
assert_string_equals("history", item2);
char *item3 = p_history_previous(history, item2);
char *item3 = history_previous(history, item2);
assert_string_equals("testing", item3);
char *item4 = p_history_previous(history, "EDITED");
char *item4 = history_previous(history, "EDITED");
assert_string_equals("again", item4);
char *item5 = p_history_previous(history, item4);
char *item5 = history_previous(history, item4);
assert_string_equals("Hello", item5);
char *item6 = p_history_next(history, item5);
char *item6 = history_next(history, item5);
assert_string_equals("again", item6);
char *item7 = p_history_next(history, item6);
char *item7 = history_next(history, item6);
assert_string_equals("EDITED", item7);
char *item8 = p_history_next(history, item7);
char *item8 = history_next(history, item7);
assert_string_equals("history", item8);
char *item9 = p_history_next(history, item8);
char *item9 = history_next(history, item8);
assert_string_equals("append", item9);
char *item10 = p_history_next(history, item9);
char *item10 = history_next(history, item9);
assert_string_equals("new item", item10);
}
void edit_previous_and_append(void)
{
PHistory history = p_history_new(10);
p_history_append(history, "Hello");
p_history_append(history, "again");
p_history_append(history, "testing");
p_history_append(history, "history");
p_history_append(history, "append");
History history = history_new(10);
history_append(history, "Hello");
history_append(history, "again");
history_append(history, "testing");
history_append(history, "history");
history_append(history, "append");
char *item1 = p_history_previous(history, "new item");
char *item1 = history_previous(history, "new item");
assert_string_equals("append", item1);
char *item2 = p_history_previous(history, item1);
char *item2 = history_previous(history, item1);
assert_string_equals("history", item2);
char *item3 = p_history_previous(history, item2);
char *item3 = history_previous(history, item2);
assert_string_equals("testing", item3);
p_history_append(history, "EDITED");
history_append(history, "EDITED");
char *item4 = p_history_previous(history, NULL);
char *item4 = history_previous(history, NULL);
assert_string_equals("EDITED", item4);
}
void start_session_add_new_submit_previous(void)
{
PHistory history = p_history_new(10);
p_history_append(history, "hello");
History history = history_new(10);
history_append(history, "hello");
char *item1 = p_history_previous(history, NULL);
char *item1 = history_previous(history, NULL);
assert_string_equals("hello", item1);
char *item2 = p_history_next(history, item1);
char *item2 = history_next(history, item1);
assert_string_equals("", item2);
char *item3 = p_history_previous(history, "new text");
char *item3 = history_previous(history, "new text");
assert_string_equals("hello", item3);
p_history_append(history, item3);
history_append(history, item3);
}
void register_history_tests(void)

View File

@ -1,7 +1,7 @@
#include <stdlib.h>
#include <string.h>
#include <head-unit.h>
#include "parser.h"
#include "command.h"
void
parse_null_returns_null(void)