about summary refs log tree commit diff stats
path: root/src/LYKeymap.c
Commit message (Expand)AuthorAgeFilesLines
...
* snapshot of project "lynx", label v2-8-2dev_18Thomas E. Dickey1999-03-041-7/+15
* snapshot of project "lynx", label v2-8-2dev_17Thomas E. Dickey1999-02-181-54/+166
* snapshot of project "lynx", label v2-8-2dev_16Thomas E. Dickey1999-02-081-2/+2
* snapshot of project "lynx", label v2-8-2dev_15Thomas E. Dickey1999-01-281-0/+3
* snapshot of project "lynx", label v2-8-2dev_13Thomas E. Dickey1999-01-131-25/+26
* snapshot of project "lynx", label v2-8-2dev_10Thomas E. Dickey1998-12-161-8/+11
* snapshot of project "lynx", label v2-8-2dev_5Thomas E. Dickey1998-11-211-5/+47
* snapshot of project "lynx", label v2-8-2dev_2Thomas E. Dickey1998-11-101-85/+229
* snapshot of project "lynx", label v2-8-1dev_4Thomas E. Dickey1998-11-061-228/+85
* snapshot of project "lynx", label v2-8-1dev_26Thomas E. Dickey1998-09-131-2/+0
* snapshot of project "lynx", label v2-8-1dev_23Thomas E. Dickey1998-08-291-3/+5
* snapshot of project "lynx", label v2-8-1dev_21Thomas E. Dickey1998-08-151-33/+2
* snapshot of project "lynx", label v2-8-1dev_20Thomas E. Dickey1998-08-061-1/+0
* snapshot of project "lynx", label v2-8-1dev_18Thomas E. Dickey1998-07-251-3/+3
* snapshot of project "lynx", label v2-8-1dev_14Thomas E. Dickey1998-06-041-79/+254
* snapshot of project "lynx", label v2-8-1dev_5Thomas E. Dickey1998-03-291-10/+10
* snapshot of project "lynx", label v2-7-1ac-0_117Thomas E. Dickey1998-02-271-2/+4
* snapshot of project "lynx", label v2-7-1ac-0_111Thomas E. Dickey1998-01-281-1/+1
* snapshot of project "lynx", label v2-7-1ac_0-105Thomas E. Dickey1998-01-021-2/+3
* snapshot of project "lynx", label v2-7-1ac_0-97Thomas E. Dickey1997-11-241-1/+2
* snapshot of project "lynx", label v2-7-1ac_0-95Thomas E. Dickey1997-11-171-4/+23
* snapshot of project "lynx", label v2-7-1ac_0-84Thomas E. Dickey1997-10-171-1/+1
* snapshot of project "lynx", label v2-7-1ac_0-76Thomas E. Dickey1997-10-061-2/+4
* snapshot of project "lynx", label v2-7-1ac_0-69Thomas E. Dickey1997-09-191-2/+2
* snapshot of project "lynx", label v2-7-1ac_0-28Thomas E. Dickey1997-05-251-51/+70
* snapshot of project "lynx", label v2_7Thomas E. Dickey1997-02-151-1/+2
* snapshot of project "lynx", label v2_6fm_970206Thomas E. Dickey1997-02-061-1/+1
* snapshot of project "lynx", label v2_6fm_970129Thomas E. Dickey1997-01-291-13/+17
* snapshot of project "lynx", label v2_6_961130Thomas E. Dickey1996-11-301-0/+16
* snapshot of project "lynx", label v2_6Thomas E. Dickey1996-09-021-0/+752
#fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
#include <stdarg.h>
#include <stddef.h>
#include <setjmp.h>
#include <cmocka.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>

#include "config/preferences.h"

#include "ui/ui.h"
#include "ui/mock_ui.h"

#include "command/commands.h"

void cmd_statuses_shows_usage_when_bad_subcmd(void **state)
{
    mock_cons_show();
    CommandHelp *help = malloc(sizeof(CommandHelp));
    help->usage = "some usage";
    gchar *args[] = { "badcmd", NULL };

    expect_cons_show("Usage: some usage");

    gboolean result = cmd_statuses(args, *help);
    assert_true(result);

    free(help);
}

void cmd_statuses_shows_usage_when_bad_console_setting(void **state)
{
    mock_cons_show();
    CommandHelp *help = malloc(sizeof(CommandHelp));
    help->usage = "some usage";
    gchar *args[] = { "console", "badsetting", NULL };

    expect_cons_show("Usage: some usage");

    gboolean result = cmd_statuses(args, *help);
    assert_true(result);

    free(help);
}

void cmd_statuses_shows_usage_when_bad_chat_setting(void **state)
{
    mock_cons_show();
    CommandHelp *help = malloc(sizeof(CommandHelp));
    help->usage = "some usage";
    gchar *args[] = { "chat", "badsetting", NULL };

    expect_cons_show("Usage: some usage");

    gboolean result = cmd_statuses(args, *help);
    assert_true(result);

    free(help);
}

void cmd_statuses_shows_usage_when_bad_muc_setting(void **state)
{
    mock_cons_show();
    CommandHelp *help = malloc(sizeof(CommandHelp));
    help->usage = "some usage";
    gchar *args[] = { "muc", "badsetting", NULL };

    expect_cons_show("Usage: some usage");

    gboolean result = cmd_statuses(args, *help);
    assert_true(result);

    free(help);
}

void cmd_statuses_console_sets_all(void **state)
{
    mock_cons_show();
    CommandHelp *help = malloc(sizeof(CommandHelp));
    gchar *args[] = { "console", "all", NULL };

    expect_cons_show("All presence updates will appear in the console.");

    gboolean result = cmd_statuses(args, *help);

    char *setting = prefs_get_string(PREF_STATUSES_CONSOLE);
    assert_non_null(setting);
    assert_string_equal("all", setting);
    assert_true(result);

    free(help);
}

void cmd_statuses_console_sets_online(void **state)
{
    mock_cons_show();
    CommandHelp *help = malloc(sizeof(CommandHelp));
    gchar *args[] = { "console", "online", NULL };

    expect_cons_show("Only online/offline presence updates will appear in the console.");

    gboolean result = cmd_statuses(args, *help);

    char *setting = prefs_get_string(PREF_STATUSES_CONSOLE);
    assert_non_null(setting);
    assert_string_equal("online", setting);
    assert_true(result);

    free(help);
}

void cmd_statuses_console_sets_none(void **state)
{
    mock_cons_show();
    CommandHelp *help = malloc(sizeof(CommandHelp));
    gchar *args[] = { "console", "none", NULL };

    expect_cons_show("Presence updates will not appear in the console.");

    gboolean result = cmd_statuses(args, *help);

    char *setting = prefs_get_string(PREF_STATUSES_CONSOLE);
    assert_non_null(setting);
    assert_string_equal("none", setting);
    assert_true(result);

    free(help);
}

void cmd_statuses_chat_sets_all(void **state)
{
    mock_cons_show();
    CommandHelp *help = malloc(sizeof(CommandHelp));
    gchar *args[] = { "chat", "all", NULL };

    expect_cons_show("All presence updates will appear in chat windows.");

    gboolean result = cmd_statuses(args, *help);

    char *setting = prefs_get_string(PREF_STATUSES_CHAT);
    assert_non_null(setting);
    assert_string_equal("all", setting);
    assert_true(result);

    free(help);
}

void cmd_statuses_chat_sets_online(void **state)
{
    mock_cons_show();
    CommandHelp *help = malloc(sizeof(CommandHelp));
    gchar *args[] = { "chat", "online", NULL };

    expect_cons_show("Only online/offline presence updates will appear in chat windows.");

    gboolean result = cmd_statuses(args, *help);

    char *setting = prefs_get_string(PREF_STATUSES_CHAT);
    assert_non_null(setting);
    assert_string_equal("online", setting);
    assert_true(result);

    free(help);
}

void cmd_statuses_chat_sets_none(void **state)
{
    mock_cons_show();
    CommandHelp *help = malloc(sizeof(CommandHelp));
    gchar *args[] = { "chat", "none", NULL };

    expect_cons_show("Presence updates will not appear in chat windows.");

    gboolean result = cmd_statuses(args, *help);

    char *setting = prefs_get_string(PREF_STATUSES_CHAT);
    assert_non_null(setting);
    assert_string_equal("none", setting);
    assert_true(result);

    free(help);
}

void cmd_statuses_muc_sets_all(void **state)
{
    mock_cons_show();
    CommandHelp *help = malloc(sizeof(CommandHelp));
    gchar *args[] = { "muc", "all", NULL };

    expect_cons_show("All presence updates will appear in chat room windows.");

    gboolean result = cmd_statuses(args, *help);

    char *setting = prefs_get_string(PREF_STATUSES_MUC);
    assert_non_null(setting);
    assert_string_equal("all", setting);
    assert_true(result);

    free(help);
}

void cmd_statuses_muc_sets_online(void **state)
{
    mock_cons_show();
    CommandHelp *help = malloc(sizeof(CommandHelp));
    gchar *args[] = { "muc", "online", NULL };

    expect_cons_show("Only join/leave presence updates will appear in chat room windows.");

    gboolean result = cmd_statuses(args, *help);

    char *setting = prefs_get_string(PREF_STATUSES_MUC);
    assert_non_null(setting);
    assert_string_equal("online", setting);
    assert_true(result);

    free(help);
}

void cmd_statuses_muc_sets_none(void **state)
{
    mock_cons_show();
    CommandHelp *help = malloc(sizeof(CommandHelp));
    gchar *args[] = { "muc", "none", NULL };

    expect_cons_show("Presence updates will not appear in chat room windows.");

    gboolean result = cmd_statuses(args, *help);

    char *setting = prefs_get_string(PREF_STATUSES_MUC);
    assert_non_null(setting);
    assert_string_equal("none", setting);
    assert_true(result);

    free(help);
}