1
0
Fork 0

Set locale in unit tests

issue #901
This commit is contained in:
James Booth 2017-04-29 20:33:28 +01:00
parent 3e18aab9f3
commit d52355d72c
2 changed files with 19 additions and 3 deletions

View File

@ -467,13 +467,13 @@ prof_occurrences(const char *const needle, const char *const haystack, int offse
gchar *needle_last_ch = g_utf8_offset_to_pointer(needle, g_utf8_strlen(needle, -1)- 1);
int needle_last_ch_len = mblen(needle_last_ch, MB_CUR_MAX);
gunichar before = NULL;
gunichar before = 0;
gchar *haystack_before_ch = g_utf8_find_prev_char(haystack, haystack_curr);
if (haystack_before_ch) {
before = g_utf8_get_char(haystack_before_ch);
}
gunichar after = NULL;
gunichar after = 0;
gchar *haystack_after_ch = g_utf8_find_next_char(haystack_curr + strlen(needle) - needle_last_ch_len, NULL);
if (haystack_after_ch) {
after = g_utf8_get_char(haystack_after_ch);

View File

@ -6,7 +6,9 @@
#include <setjmp.h>
#include <cmocka.h>
#include <sys/stat.h>
#include <stdlib.h>
#include <locale.h>
#include <langinfo.h>
#include "config.h"
#include "xmpp/chat_session.h"
@ -38,7 +40,21 @@
#include "test_plugins_disco.h"
int main(int argc, char* argv[]) {
setlocale(LC_ALL, "");
setlocale(LC_ALL, "en_GB.UTF-8");
char *codeset = nl_langinfo(CODESET);
char *lang = getenv("LANG");
printf("Charset information:\n");
if (lang) {
printf(" LANG: %s\n", lang);
}
if (codeset) {
printf(" CODESET: %s\n", codeset);
}
printf(" MB_CUR_MAX: %d\n", MB_CUR_MAX);
printf(" MB_LEN_MAX: %d\n", MB_LEN_MAX);
const UnitTest all_tests[] = {
unit_test(replace_one_substr),