⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modp_bjavascript_test.c

📁 本人收集整理的一份c/c++跨平台网络库
💻 C
字号:
/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4 -*- *//* vi: set expandtab shiftwidth=4 tabstop=4: */#include <stdio.h>#include <stdlib.h>#include <string.h>#include "modp_bjavascript.h"#include "minunit.h"/** * Tests input where no escaping happens */static char* testNoEscape(){    char buf[100];    const char* s1 = "this is a string";    const int len1 = strlen(s1);    int d = modp_bjavascript_encode(buf, s1, len1);    mu_assert_int_equals(len1, d);    mu_assert_str_equals(buf, s1);    int sz = modp_bjavascript_encode_strlen(s1, len1);    mu_assert_int_equals(sz, len1);    return 0;}static char* testSimpleEscape(){    char buf[100];    const char* s1 = "\\this\nis a string\n";    const char* s2 = "\\\\this\\nis a string\\n";    const int len1 = strlen(s1);    const int len2 = strlen(s2);    int d = modp_bjavascript_encode(buf, s1, len1);    mu_assert_int_equals(len2, d);    mu_assert_str_equals(buf, s2);    int sz = modp_bjavascript_encode_strlen(s1, len1);    mu_assert_int_equals(sz, len2);    /*     * Test the Raw escape '\' --> '\\'     */    char ibuf[] = {'\\', '\0'};    memset(buf, 0, sizeof(buf));       d = modp_bjavascript_encode(buf,ibuf, 1);    mu_assert_int_equals(buf[0], '\\');    mu_assert_int_equals(buf[1], '\\');    mu_assert_int_equals(buf[2], 0);    return 0;}static char* testSQuoteEscape(){    char buf[100];    const char* s1 = "this is a 'string'\n";    const char* s2 = "this is a \\'string\\'\\n";    const int len1 = strlen(s1);    const int len2 = strlen(s2);    int d = modp_bjavascript_encode(buf, s1, len1);    mu_assert_int_equals(len2, d);    mu_assert_str_equals(buf, s2);    int sz = modp_bjavascript_encode_strlen(s1, len1);    mu_assert_int_equals(sz, len2);    char ibuf[] = {'\'', '\0'};    memset(buf, 0, sizeof(buf));    d = modp_bjavascript_encode(buf, ibuf, 1);    mu_assert_int_equals(buf[0], '\\');    mu_assert_int_equals(buf[1], '\'');    mu_assert_int_equals(buf[2], '\0');    return 0;}static char* testDQuoteEscape(){    char buf[100];    const char* s1 = "this is a \"string\"\n";    const char* s2 = "this is a \\\"string\\\"\\n";    const int len1 = strlen(s1);    const int len2 = strlen(s2);    int d = modp_bjavascript_encode(buf, s1, len1);    mu_assert_int_equals(len2, d);    mu_assert_str_equals(buf, s2);    int sz = modp_bjavascript_encode_strlen(s1, len1);    mu_assert_int_equals(sz, len2);    char ibuf[] = {'\"', '\0'};    memset(buf, 0, sizeof(buf));    d = modp_bjavascript_encode(buf, ibuf, 1);    mu_assert_int_equals(buf[0], '\\');    mu_assert_int_equals(buf[1], '\"');    mu_assert_int_equals(buf[2], '\0');    return 0;}static char* testBinaryEscape(){    char buf[100];    const char s1[] = {1,2,3,4,0};    const char* s2 = "\\x01\\x02\\x03\\x04";    const int len1 = strlen(s1);    const int len2 = strlen(s2);    int d = modp_bjavascript_encode(buf, s1, len1);    mu_assert_int_equals(len2, d);    mu_assert_str_equals(buf, s2);    int sz = modp_bjavascript_encode_strlen(s1, len1);    mu_assert_int_equals(sz, len2);    return 0;}static char* all_tests(){    mu_run_test(testNoEscape);    mu_run_test(testSimpleEscape);    mu_run_test(testBinaryEscape);    mu_run_test(testSQuoteEscape);    mu_run_test(testDQuoteEscape);    return 0;}UNITTESTS

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -