From e1b13eba754f2bbd334b03fd7213d5d219900cf7 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Fri, 25 Jul 2014 08:38:16 +0200
Subject: [PATCH] Curl_base64url_encode: unit-tested in 1302

---
 lib/base64.c          |  2 +-
 tests/unit/unit1302.c | 20 +++++++++++++++++++-
 2 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/lib/base64.c b/lib/base64.c
index 9ba9a7d3ef..bd9ba35bea 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 6886af8c49..412a71f01e 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");
-- 
GitLab