summaryrefslogtreecommitdiff
path: root/tests/unit/core
AgeCommit message (Collapse)Author
2023-05-05core: fix execution of multiple commands separated by newline when there are ↵Sébastien Helleu
no spaces For example typing this on core buffer: /t1 /t2 was not executing the two commands but sent the text to the buffer instead. This is because WeeChat thinks it's a path, and the newline should indicate it's not (like a space before the next slash: "/t1 /t2" is a command, not a path, but "/t1/t2" is considered a path).
2023-05-04api: don't split on newline by default in functions `command` and ↵Sébastien Helleu
`command_options` when input_multiline is set to 0 The API functions `command` and `command_options` (when `split_newline` = 0, which is the default value) don't split on newline and then the first line is executed and the subsequent lines (after "\n") are ignored. There are no changes when the input has multiple lines filled by the user: the split is done and multiple commands are executed (for example if the user is pasting multiple commands to execute).
2023-03-28core: check that infolist is not NULL in next/prev/reset_item_cursor functionsSébastien Helleu
2023-03-26core: Implement commands for operating on a single input lineTrygve Aaberge
This changes the commands delete_beginning_of_line, delete_end_of_line, delete_line, move_beginning_of_line and move_end_of_line to operate on the current line instead of the whole input. The commands delete_beginning_of_input, delete_end_of_input, delete_input, move_beginning_of_input and move_end_of_input are added with the previous implementations that the line commands had. Additionally, the commands move_previous_line and move_next_line are added which moves the cursor to the previous/next line and keeps the horizontal position in the line. The meta-r key is changed from delete_line to delete_input to keep the behavior, and because you probably want to delete the whole input more often than the line. The meta-R key is added for delete_line. The home, end, ctrl-u and ctrl-k keys are kept to the same commands, which means that they change behaviour. This is because having them operate on the line is consistent with other applications (vim, zsh), and I also think it's more practical. These new bindings are added: shift-home: /input move_beginning_of_input shift-end: /input move_end_of_input shift-up: /input move_previous_line shift-down: /input move_next_line meta-R: /input delete_line meta-ctrl-u: /input delete_beginning_of_input meta-ctrl-k: /input delete_end_of_input Relates to #1498
2023-03-19core: do not call check callback when setting default value of optionSébastien Helleu
2023-03-19core: add command `/reset` to reset options to their default valuesSébastien Helleu
2023-03-16core: add function config_file_option_set_defaultSébastien Helleu
2023-03-16core: add configuration version, add API function config_set_versionSébastien Helleu
2023-03-12tests: add tests on functions weeurl_search_constant and weeurl_search_optionSébastien Helleu
2023-03-10core: allow /eval to get hashtable propertiesAndrew Potter
2023-01-30tests: fix comments (issue #1877)Sébastien Helleu
2023-01-30core: add function string_get_common_bytes_count (issue #1877)Sébastien Helleu
2023-01-30core: add function string_levenshtein (issue #1877)Sébastien Helleu
2023-01-28core: make configuration files, sections and options case sensitive (issue ↵Sébastien Helleu
#1872)
2023-01-28core: add function config_file_get_configs_by_priority (issue #1872)Sébastien Helleu
2023-01-28core: sort configuration files by name, reload them by priority (issue #1872)Sébastien Helleu
2023-01-28core: move function hook_get_priority_and_name to wee-string.c (issue #1872)Sébastien Helleu
2023-01-14tests: add tests on string comparison functionsSébastien Helleu
2023-01-01core: update copyright datesSébastien Helleu
2022-12-24api: add functions string_strcmp and string_strncmpSébastien Helleu
2022-12-24api: rename char comparison functions "utf8_char*" to "string_char*"Sébastien Helleu
2022-12-24api: return arithmetic difference between chars in string comparison functionsSébastien Helleu
Return code is changed for the following functions: - string_strcasecmp - string_strcasecmp_range - string_strncasecmp - string_strncasecmp_range - string_strcmp_ignore_chars - utf8_charcmp - utf8_charcasecmp - utf8_charcasecmp_range
2022-12-23api: fix function strcmp_ignore_chars with case sensitive comparison and ↵Sébastien Helleu
wide chars starting with the same byte
2022-12-21core: improve case convert and insensitive char comparisons (closes #258)Sébastien Helleu
All lowercase letters are now properly converted to uppercase letters (and vice versa), via functions `towupper` and `towlower`. Functions `string_tolower`, `string_toupper` and `utf8_charcasecmp` have been optimized to be faster when there are ASCII chars (< 128); functions are about 25-40% faster with mixed chars (both ASCII and multi-bytes). Function `utf8_wide_char` has been removed, `utf8_char_int` can be used instead.
2022-12-18api: return newly allocated string in functions string_tolower and ↵Sébastien Helleu
string_toupper
2022-12-18core: return number of bytes for UTF-8 char in function utf8_int_stringSébastien Helleu
2022-12-10core: add whole string information in /debug unicodeSébastien Helleu
2022-12-10core: add color attributes "blink" and "dim" (half bright) (closes #1855)Sébastien Helleu
2022-12-10core: fix function string_cut when there are non printable chars in suffixSébastien Helleu
2022-12-10core: do not display non printable chars, fix function utf8_char_size_screenSébastien Helleu
Now the function utf8_char_size_screen can return -1 when the char is not printable. It has a specific behavior for some chars: - U+0009: value of option weechat.look.tab_width - U+0001 to U+001F (except U+0009): 1 - U+00AD (soft hyphen): -1 - U+200B (zero width space): -1
2022-12-10api: add function utf8_strncpySébastien Helleu
2022-12-10core: optimize and fix function utf8_strlen_screen with non printable charsSébastien Helleu
When there non printable chars, the return of the function was 1. For example utf8_strlen_screen("abc\x01") now returns 4 instead of 1. In addition the function has been optimized to not use the `mbstowcs` function which is slow; result is up to 15% faster.
2022-12-10core: add result of `utf8_char_size_screen` in /debug unicodeSébastien Helleu
2022-12-03core: display hex codepoint before integer codepoint in /debug unicodeSébastien Helleu
2022-11-27tests: define constants with UTF-8 strings, add tests on functions returning ↵Sébastien Helleu
size on screen
2022-11-21core: add option `unicode` in command `/debug`Sébastien Helleu
2022-11-05tests: add another test on function string_translate_charsSébastien Helleu
2022-11-05core: add range of chars in evaluation of expressions with `chars:xxx`Sébastien Helleu
2022-11-05api: add function string_translate_charsSébastien Helleu
2022-10-08tests: Use LONGS_EQUAL for version number testsTrygve Aaberge
util_version_number returns an int, but BYTES_EQUAL only compares the last byte of the int, so it wouldn't test the rest of the int. I see other tests for functions returning an int use LONGS_EQUAL, so that seems correct to use.
2022-09-27api: restrict number to integer in function string_parse_sizeSébastien Helleu
2022-09-27api: add function string_parse_sizeSébastien Helleu
2022-09-18core: add key alt+backspace, change behavior of key ctrl+w (closes #559)Sébastien Helleu
The key ctrl+w now deletes one word until whitespace. The new key alt+backspace deletes one word (same behavior as ctrl+w in previous releases).
2022-08-16api: add function crypto_hash_fileSébastien Helleu
2022-08-13tests: add tests on dynamic string functions with NULL stringSébastien Helleu
2022-07-20api: add arguments "index_start" and "index_end" in function ↵Sébastien Helleu
string_rebuild_split_string
2022-07-20api: rename function string_build_with_split_string to ↵Sébastien Helleu
string_rebuild_split_string
2022-04-18core: add case conversion in evaluation of expressions (closes #1778)Sébastien Helleu
2022-03-10tests: move include of tests/tests.h outside of extern "C"Sébastien Helleu
2022-02-19tests: add tests on function string_strndupSébastien Helleu