mirror of
https://github.com/weechat/weechat.git
synced 2026-06-30 23:06:38 +02:00
core: add option unicode in command /debug
This commit is contained in:
@@ -0,0 +1,484 @@
|
||||
/*
|
||||
* test-core-command.cpp - test command functions
|
||||
*
|
||||
* Copyright (C) 2022 Sébastien Helleu <flashcode@flashtux.org>
|
||||
*
|
||||
* This file is part of WeeChat, the extensible chat client.
|
||||
*
|
||||
* WeeChat 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.
|
||||
*
|
||||
* WeeChat 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 WeeChat. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "CppUTest/TestHarness.h"
|
||||
|
||||
#include "tests/tests.h"
|
||||
|
||||
extern "C"
|
||||
{
|
||||
#ifndef HAVE_CONFIG_H
|
||||
#define HAVE_CONFIG_H
|
||||
#endif
|
||||
#include "src/core/weechat.h"
|
||||
#include "src/core/wee-command.h"
|
||||
#include "src/core/wee-input.h"
|
||||
#include "src/core/wee-string.h"
|
||||
#include "src/gui/gui-buffer.h"
|
||||
}
|
||||
|
||||
#define WEE_CMD_BUFFER(__buffer_name, __command) \
|
||||
command_record (__buffer, __command);
|
||||
|
||||
#define WEE_CMD_CORE(__command) \
|
||||
command_record ("core.weechat", __command);
|
||||
|
||||
#define WEE_CHECK_MSG_BUFFER(__buffer_name, __message) \
|
||||
if (!record_search (__buffer_name, __message)) \
|
||||
{ \
|
||||
char **msg = command_build_error ( \
|
||||
"Message not displayed on buffer " __buffer_name ": " \
|
||||
"\"" __message "\n" \
|
||||
"All messages displayed:\n"); \
|
||||
record_dump (msg); \
|
||||
FAIL(string_dyn_free (msg, 0)); \
|
||||
}
|
||||
|
||||
#define WEE_CHECK_MSG_CORE(__message) \
|
||||
WEE_CHECK_MSG_BUFFER("core.weechat", __message);
|
||||
|
||||
|
||||
TEST_GROUP(CoreCommand)
|
||||
{
|
||||
void command_record (const char *buffer_name, const char *command)
|
||||
{
|
||||
struct t_gui_buffer *buffer;
|
||||
|
||||
buffer = gui_buffer_search_by_full_name (buffer_name);
|
||||
if (!buffer)
|
||||
{
|
||||
FAIL("Buffer not found");
|
||||
}
|
||||
record_start ();
|
||||
input_data (buffer, command, NULL);
|
||||
record_stop ();
|
||||
}
|
||||
|
||||
char **command_build_error (const char *message)
|
||||
{
|
||||
char **msg;
|
||||
|
||||
msg = string_dyn_alloc (1024);
|
||||
string_dyn_concat (msg, message, -1);
|
||||
return msg;
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_away
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Away)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_bar
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Bar)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_buffer
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Buffer)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_color
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Color)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_command
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Command)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_cursor
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Cursor)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_debug
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Debug)
|
||||
{
|
||||
const char *command_debug_unicode =
|
||||
"/debug unicode "
|
||||
"\u00AD" /* soft hyphen */
|
||||
"\u00E9" /* é */
|
||||
"\u200B" /* zero width space */
|
||||
"";
|
||||
|
||||
/* test command "/debug list" */
|
||||
/* TODO: write tests */
|
||||
|
||||
/* test command "/debug buffer" */
|
||||
/* TODO: write tests */
|
||||
|
||||
/* test command "/debug certs" */
|
||||
/* TODO: write tests */
|
||||
|
||||
/* test command "/debug color" */
|
||||
/* TODO: write tests */
|
||||
|
||||
/* test command "/debug cursor" */
|
||||
/* TODO: write tests */
|
||||
|
||||
/* test command "/debug dirs" */
|
||||
/* TODO: write tests */
|
||||
|
||||
/* test command "/debug dump" */
|
||||
/* TODO: write tests */
|
||||
|
||||
/* test command "/debug hdata" */
|
||||
/* TODO: write tests */
|
||||
|
||||
/* test command "/debug hooks" */
|
||||
/* TODO: write tests */
|
||||
|
||||
/* test command "/debug infolists" */
|
||||
/* TODO: write tests */
|
||||
|
||||
/* test command "/debug libs" */
|
||||
/* TODO: write tests */
|
||||
|
||||
/* test command "/debug memory" */
|
||||
/* TODO: write tests */
|
||||
|
||||
/* test command "/debug mouse" */
|
||||
/* TODO: write tests */
|
||||
|
||||
/* test command "/debug set" */
|
||||
LONGS_EQUAL(0, weechat_debug_core);
|
||||
WEE_CMD_CORE("/debug set core 1");
|
||||
LONGS_EQUAL(1, weechat_debug_core);
|
||||
WEE_CMD_CORE("/debug set core 2");
|
||||
LONGS_EQUAL(2, weechat_debug_core);
|
||||
WEE_CMD_CORE("/debug set core 0");
|
||||
LONGS_EQUAL(0, weechat_debug_core);
|
||||
|
||||
/* test command "/debug tags" */
|
||||
/* TODO: write tests */
|
||||
|
||||
/* test command "/debug term" */
|
||||
/* TODO: write tests */
|
||||
|
||||
/* test command "/debug time" */
|
||||
/* TODO: write tests */
|
||||
|
||||
/* test command "/debug unicode" */
|
||||
WEE_CMD_CORE(command_debug_unicode);
|
||||
WEE_CHECK_MSG_CORE(" \"\u00AD\" (173, U+00AD, 0xC2 0xAD): 2 / 1, 1 / 1, 1, 1");
|
||||
WEE_CHECK_MSG_CORE(" \"\u00E9\" (233, U+00E9, 0xC3 0xA9): 2 / 1, 1 / 1, 1, 1");
|
||||
WEE_CHECK_MSG_CORE(" \"\u200B\" (8203, U+200B, 0xE2 0x80 0x8B): 3 / 1, 1 / 0, 0, 0");
|
||||
|
||||
/* test command "/debug windows" */
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_eval
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Eval)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_filter
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Filter)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_help
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Help)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_history
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, History)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_input
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Input)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_item
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Item)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_key
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Key)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_layout
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Layout)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_mouse
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Mouse)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_mute
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Mute)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_plugin
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Plugin)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_print
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Print)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_proxy
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Proxy)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_quit
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Quit)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_reload
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Reload)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_repeat
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Repeat)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_save
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Save)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_secure
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Secure)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_set
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Set)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_toggle
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Toggle)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_unset
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Unset)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_upgrade
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Upgrade)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_uptime
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Uptime)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_version
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Version)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_wait
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Wait)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* command_window
|
||||
*/
|
||||
|
||||
TEST(CoreCommand, Window)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
}
|
||||
Reference in New Issue
Block a user