diff --git a/lib/base64.c b/lib/base64.c index 9ba9a7d3ef65f0d6faf94d761016d8cc443fa0dd..bd9ba35beaf5ae0b088fd8ba35854604d9501326 100644 --- a/lib/base64.c +++ b/lib/base64.c @@ -303,7 +303,7 @@ CURLcode Curl_base64_encode(struct SessionHandle *data, * * When encoded data length is 0, returns NULL in *outptr. * - * @unittest: + * @unittest: 1302 */ CURLcode Curl_base64url_encode(struct SessionHandle *data, const char *inputbuff, size_t insize, diff --git a/tests/unit/unit1302.c b/tests/unit/unit1302.c index 6886af8c49d1d3b7f3f88b59b399884eb5f4973b..412a71f01e84418f671ce2a26c106a9d91dbb3f6 100644 --- a/tests/unit/unit1302.c +++ b/tests/unit/unit1302.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al. + * Copyright (C) 1998 - 2014, 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 @@ -73,6 +73,24 @@ fail_unless(size == 8, "size should be 8"); verify_memory( output, "aWlpaQ==", 8); Curl_safefree(output); +rc = Curl_base64_encode(data, "\xff\x01\xfe\x02", 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, "/wH+Ag==", 8); +Curl_safefree(output); + +rc = Curl_base64url_encode(data, "\xff\x01\xfe\x02", 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, "_wH-Ag==", 8); +Curl_safefree(output); + +rc = Curl_base64url_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");