1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
/**
* test-logger.c
*
* Copyright (c) 2013
* libchewing Core Team.
*
* See the file "COPYING" for information on usage and redistribution
* of this file.
*/
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <assert.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include "chewing.h"
#include "testhelper.h"
void test_set_null_logger()
{
ChewingContext *ctx;
ctx = chewing_new();
start_testcase(ctx);
chewing_set_logger(ctx, NULL, 0);
type_keystroke_by_string(ctx, "hk4g4");
chewing_delete(ctx);
}
void stdout_logger(void *data, int level, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
vprintf(fmt, ap);
va_end(ap);
}
void test_set_logger()
{
ChewingContext *ctx;
ctx = chewing_new();
start_testcase(ctx);
chewing_set_logger(ctx, stdout_logger, 0);
type_keystroke_by_string(ctx, "hk4g4");
chewing_delete(ctx);
}
int main(int argc, char *argv[])
{
putenv("CHEWING_PATH=" CHEWING_DATA_PREFIX);
putenv("CHEWING_USER_PATH=" TEST_HASH_DIR);
test_set_logger();
test_set_null_logger();
return exit_status();
}
|