From 2fe5e5fb8f3e521c70f037e1327a39260ae43de4 Mon Sep 17 00:00:00 2001 From: Yu Qing Date: Sat, 26 Nov 2016 19:16:02 +0800 Subject: [PATCH] add tests/test_char_convert.c --- src/char_converter.c | 15 +++++----- src/tests/Makefile | 2 +- src/tests/test_char_convert.c | 52 +++++++++++++++++++++++++++++++++++ 3 files changed, 61 insertions(+), 8 deletions(-) create mode 100644 src/tests/test_char_convert.c diff --git a/src/char_converter.c b/src/char_converter.c index 199d63a..c5ecf9e 100644 --- a/src/char_converter.c +++ b/src/char_converter.c @@ -43,9 +43,9 @@ int char_converter_init_ex(FastCharConverter *pCharConverter, int std_space_char_converter_init(FastCharConverter *pCharConverter, const unsigned char dest_base) { -#define SPACE_CHAR_PAIR_COUNT 7 +#define SPACE_CHAR_PAIR_COUNT1 7 int i; - FastCharPair pairs[SPACE_CHAR_PAIR_COUNT]; + FastCharPair pairs[SPACE_CHAR_PAIR_COUNT1]; pairs[0].src = '\0'; pairs[1].src = '\t'; @@ -55,17 +55,17 @@ int std_space_char_converter_init(FastCharConverter *pCharConverter, pairs[5].src = '\r'; pairs[6].src = ' '; - for (i=0; i +#include +#include +#include +#include +#include +#include +#include +#include +#include "logger.h" +#include "char_convert_loader.h" +#include "char_converter.h" + +int main(int argc, char *argv[]) +{ + int result; + int count; + int input_len; + int out_len; + char input[8 * 1024]; + char output[10 * 1024]; + FastCharConverter converter; + + if (argc >= 2) { + input_len = snprintf(input, sizeof(input), "%s", argv[1]); + } else { + input_len = read(0, input, sizeof(input) - 1); + if (input_len < 0) { + fprintf(stderr, "read from stdin fail"); + return errno; + } + *(input + input_len) = '\0'; + } + + log_init(); + printf("input_len: %d\n%s\n\n", (int)strlen(input), input); + + result = std_spaces_add_backslash_converter_init(&converter); + printf("result1: %d\n", result); + if (result != 0) { + return result; + } + char_converter_set_pair_ex(&converter, ' ', + FAST_CHAR_OP_ADD_BACKSLASH, '\''); + + count = fast_char_convert(&converter, input, input_len, + output, &out_len, sizeof(output)); + printf("count: %d\n", count); + printf("out_len: %d\n%.*s\n", out_len, out_len, output); + return 0; +} +