mirror of
https://github.com/profanity-im/profanity.git
synced 2025-07-26 12:14:28 -04:00
Added missing files, refactored ui_switch_win to check win exists
This commit is contained in:
parent
7113b97952
commit
b19b881b97
@ -530,12 +530,10 @@ gboolean
|
|||||||
cmd_win(gchar **args, struct cmd_help_t help)
|
cmd_win(gchar **args, struct cmd_help_t help)
|
||||||
{
|
{
|
||||||
int num = atoi(args[0]);
|
int num = atoi(args[0]);
|
||||||
if (ui_win_exists(num)) {
|
gboolean switched = ui_switch_win(num);
|
||||||
ui_switch_win(num);
|
if (switched == FALSE) {
|
||||||
} else {
|
|
||||||
cons_show("Window %d does not exist.", num);
|
cons_show("Window %d does not exist.", num);
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -531,12 +531,12 @@ _get_recipient_string(ProfWin *window)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static gboolean
|
||||||
_ui_switch_win(const int i)
|
_ui_switch_win(const int i)
|
||||||
{
|
{
|
||||||
ui_current_page_off();
|
if (ui_win_exists(i)) {
|
||||||
ProfWin *new_current = wins_get_by_num(i);
|
ui_current_page_off();
|
||||||
if (new_current != NULL) {
|
ProfWin *new_current = wins_get_by_num(i);
|
||||||
wins_set_current_by_num(i);
|
wins_set_current_by_num(i);
|
||||||
ui_current_page_off();
|
ui_current_page_off();
|
||||||
|
|
||||||
@ -554,6 +554,9 @@ _ui_switch_win(const int i)
|
|||||||
status_bar_active(i);
|
status_bar_active(i);
|
||||||
}
|
}
|
||||||
wins_update_virtual_current();
|
wins_update_virtual_current();
|
||||||
|
return TRUE;
|
||||||
|
} else {
|
||||||
|
return FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ void (*ui_resize)(const int ch, const char * const input,
|
|||||||
GSList* (*ui_get_recipients)(void);
|
GSList* (*ui_get_recipients)(void);
|
||||||
void (*ui_handle_special_keys)(const wint_t * const ch, const char * const inp,
|
void (*ui_handle_special_keys)(const wint_t * const ch, const char * const inp,
|
||||||
const int size);
|
const int size);
|
||||||
void (*ui_switch_win)(const int i);
|
gboolean (*ui_switch_win)(const int i);
|
||||||
void (*ui_next_win)(void);
|
void (*ui_next_win)(void);
|
||||||
void (*ui_previous_win)(void);
|
void (*ui_previous_win)(void);
|
||||||
void (*ui_gone_secure)(const char * const recipient, gboolean trusted);
|
void (*ui_gone_secure)(const char * const recipient, gboolean trusted);
|
||||||
|
39
tests/test_cmd_win.c
Normal file
39
tests/test_cmd_win.c
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#include <stdarg.h>
|
||||||
|
#include <stddef.h>
|
||||||
|
#include <setjmp.h>
|
||||||
|
#include <cmocka.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <glib.h>
|
||||||
|
|
||||||
|
#include "ui/ui.h"
|
||||||
|
#include "ui/mock_ui.h"
|
||||||
|
|
||||||
|
#include "command/commands.h"
|
||||||
|
|
||||||
|
void cmd_win_shows_message_when_win_doesnt_exist(void **state)
|
||||||
|
{
|
||||||
|
mock_cons_show();
|
||||||
|
CommandHelp *help = malloc(sizeof(CommandHelp));
|
||||||
|
gchar *args[] = { "3", NULL };
|
||||||
|
|
||||||
|
ui_switch_win_expect_and_return(3, FALSE);
|
||||||
|
expect_cons_show("Window 3 does not exist.");
|
||||||
|
|
||||||
|
gboolean result = cmd_win(args, *help);
|
||||||
|
assert_true(result);
|
||||||
|
|
||||||
|
free(help);
|
||||||
|
}
|
||||||
|
|
||||||
|
void cmd_win_switches_to_given_win_when_exists(void **state)
|
||||||
|
{
|
||||||
|
CommandHelp *help = malloc(sizeof(CommandHelp));
|
||||||
|
gchar *args[] = { "12", NULL };
|
||||||
|
|
||||||
|
ui_switch_win_expect_and_return(12, TRUE);
|
||||||
|
|
||||||
|
gboolean result = cmd_win(args, *help);
|
||||||
|
assert_true(result);
|
||||||
|
|
||||||
|
free(help);
|
||||||
|
}
|
2
tests/test_cmd_win.h
Normal file
2
tests/test_cmd_win.h
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
void cmd_win_shows_message_when_win_doesnt_exist(void **state);
|
||||||
|
void cmd_win_switches_to_given_win_when_exists(void **state);
|
@ -178,16 +178,10 @@ void _mock_cons_show_roster(GSList *list)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static
|
static
|
||||||
gboolean _mock_ui_win_exists(int index)
|
gboolean _mock_ui_switch_win(const int i)
|
||||||
{
|
|
||||||
check_expected(index);
|
|
||||||
return (gboolean)mock();
|
|
||||||
}
|
|
||||||
|
|
||||||
static
|
|
||||||
void _mock_ui_switch_win(const int i)
|
|
||||||
{
|
{
|
||||||
check_expected(i);
|
check_expected(i);
|
||||||
|
return (gboolean)mock();
|
||||||
}
|
}
|
||||||
|
|
||||||
// bind mocks and stubs
|
// bind mocks and stubs
|
||||||
@ -300,12 +294,6 @@ mock_cons_show_roster(void)
|
|||||||
cons_show_roster = _mock_cons_show_roster;
|
cons_show_roster = _mock_cons_show_roster;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
mock_ui_win_exists(void)
|
|
||||||
{
|
|
||||||
ui_win_exists = _mock_ui_win_exists;
|
|
||||||
}
|
|
||||||
|
|
||||||
// expectations
|
// expectations
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -458,15 +446,9 @@ cons_show_roster_expect(GSList *list)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ui_win_exists_expect_and_return(int given_index, gboolean result)
|
ui_switch_win_expect_and_return(int given_i, gboolean result)
|
||||||
{
|
|
||||||
expect_value(_mock_ui_win_exists, index, given_index);
|
|
||||||
will_return(_mock_ui_win_exists, result);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
ui_switch_win_expect(int given_i)
|
|
||||||
{
|
{
|
||||||
ui_switch_win = _mock_ui_switch_win;
|
ui_switch_win = _mock_ui_switch_win;
|
||||||
expect_value(_mock_ui_switch_win, i, given_i);
|
expect_value(_mock_ui_switch_win, i, given_i);
|
||||||
|
will_return(_mock_ui_switch_win, result);
|
||||||
}
|
}
|
||||||
|
@ -64,9 +64,6 @@ void ui_room_join_expect(char *room);
|
|||||||
void mock_cons_show_roster(void);
|
void mock_cons_show_roster(void);
|
||||||
void cons_show_roster_expect(GSList *list);
|
void cons_show_roster_expect(GSList *list);
|
||||||
|
|
||||||
void mock_ui_win_exists(void);
|
void ui_switch_win_expect_and_return(int given_i, gboolean result);
|
||||||
void ui_win_exists_expect_and_return(int given_index, gboolean result);
|
|
||||||
|
|
||||||
void ui_switch_win_expect(int given_i);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user