Files
@ 6a0980c371aa
Branch filter:
Location: libtransport.git/msvc-deps/curl/tests/unit/unit1302.c - annotation
6a0980c371aa
4.1 KiB
text/plain
Communi: Change mode only in particular room, not globally.
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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 8fbdd54451c0 | /***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at http://curl.haxx.se/docs/copyright.html.
*
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is
* furnished to do so, under the terms of the COPYING file.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
***************************************************************************/
#include "curlcheck.h"
#include "urldata.h"
#include "url.h" /* for Curl_safefree */
#include "curl_base64.h"
#include "memdebug.h" /* LAST include file */
static struct SessionHandle *data;
static CURLcode unit_setup( void )
{
data = curl_easy_init();
if (!data)
return CURLE_OUT_OF_MEMORY;
return CURLE_OK;
}
static void unit_stop( void )
{
curl_easy_cleanup(data);
}
UNITTEST_START
char *output;
unsigned char *decoded;
size_t size = 0;
unsigned char anychar = 'x';
CURLcode rc;
rc = Curl_base64_encode(data, "i", 1, &output, &size);
fail_unless(rc == CURLE_OK, "return code should be CURLE_OK");
fail_unless(size == 4, "size should be 4");
verify_memory( output, "aQ==", 4);
Curl_safefree(output);
rc = Curl_base64_encode(data, "ii", 2, &output, &size);
fail_unless(rc == CURLE_OK, "return code should be CURLE_OK");
fail_unless(size == 4, "size should be 4");
verify_memory( output, "aWk=", 4);
Curl_safefree(output);
rc = Curl_base64_encode(data, "iii", 3, &output, &size);
fail_unless(rc == CURLE_OK, "return code should be CURLE_OK");
fail_unless(size == 4, "size should be 4");
verify_memory( output, "aWlp", 4);
Curl_safefree(output);
rc = Curl_base64_encode(data, "iiii", 4, &output, &size);
fail_unless(rc == CURLE_OK, "return code should be CURLE_OK");
fail_unless(size == 8, "size should be 8");
verify_memory( output, "aWlpaQ==", 8);
Curl_safefree(output);
/* 0 length makes it do strlen() */
rc = Curl_base64_encode(data, "iiii", 0, &output, &size);
fail_unless(rc == CURLE_OK, "return code should be CURLE_OK");
fail_unless(size == 8, "size should be 8");
verify_memory( output, "aWlpaQ==", 8);
Curl_safefree(output);
rc = Curl_base64_decode("aWlpaQ==", &decoded, &size);
fail_unless(rc == CURLE_OK, "return code should be CURLE_OK");
fail_unless(size == 4, "size should be 4");
verify_memory(decoded, "iiii", 4);
Curl_safefree(decoded);
rc = Curl_base64_decode("aWlp", &decoded, &size);
fail_unless(rc == CURLE_OK, "return code should be CURLE_OK");
fail_unless(size == 3, "size should be 3");
verify_memory(decoded, "iii", 3);
Curl_safefree(decoded);
rc = Curl_base64_decode("aWk=", &decoded, &size);
fail_unless(rc == CURLE_OK, "return code should be CURLE_OK");
fail_unless(size == 2, "size should be 2");
verify_memory(decoded, "ii", 2);
Curl_safefree(decoded);
rc = Curl_base64_decode("aQ==", &decoded, &size);
fail_unless(rc == CURLE_OK, "return code should be CURLE_OK");
fail_unless(size == 1, "size should be 1");
verify_memory(decoded, "i", 2);
Curl_safefree(decoded);
/* this is an illegal input */
size = 1; /* not zero */
decoded = &anychar; /* not NULL */
rc = Curl_base64_decode("aQ", &decoded, &size);
/* return code indiferent, but output shall be as follows */
fail_unless(size == 0, "size should be 0");
fail_if(decoded, "returned pointer should be NULL");
/* this is garbage input that libcurl decodes as far as possible */
size = 0;
decoded = NULL;
rc = Curl_base64_decode("a\x1f==", &decoded, &size);
fail_unless(rc == CURLE_OK, "return code should be CURLE_OK");
fail_unless(size == 1, "size should be 1");
fail_if(!decoded, "returned pointer should not be NULL");
Curl_safefree(decoded);
UNITTEST_STOP
|