diff options
author | Matthias Clasen <mclasen@redhat.com> | 2007-11-23 17:58:00 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2007-11-23 17:58:00 +0000 |
commit | 78c06eafe128e56ad1145a412e317bf7f5b3088c (patch) | |
tree | 062659afd3382f99bfeb9dd3329b60cc3b5e3673 /tests | |
parent | 39ad6fbd02e247adc3019fd079239d18ef580afe (diff) |
Don't refuse to encode a single byte. (Milan Crha)
2007-11-23 Matthias Clasen <mclasen@redhat.com>
* glib/gbase64.c (g_base64_encode): Don't refuse to encode
a single byte. (Milan Crha)
* tests/base64-test.c: Test encoding short strings.
svn path=/trunk/; revision=5919
Diffstat (limited to 'tests')
-rw-r--r-- | tests/base64-test.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/tests/base64-test.c b/tests/base64-test.c index 4cb703693..4d7472184 100644 --- a/tests/base64-test.c +++ b/tests/base64-test.c @@ -83,24 +83,24 @@ test_incremental (gboolean line_break, } static void -test_full (void) +test_full (gint length) { char *text; guchar *data2; gsize len; - text = g_base64_encode (data, DATA_SIZE); + text = g_base64_encode (data, length); data2 = g_base64_decode (text, &len); g_free (text); - if (len != DATA_SIZE) + if (len != length) { g_print ("Wrong decoded length: got %d, expected %d\n", - len, DATA_SIZE); + len, length); exit (1); } - if (memcmp (data, data2, DATA_SIZE) != 0) + if (memcmp (data, data2, length) != 0) { g_print ("Wrong decoded base64 data\n"); exit (1); @@ -116,7 +116,10 @@ main (int argc, char *argv[]) for (i = 0; i < DATA_SIZE; i++) data[i] = (guchar)i; - test_full (); + test_full (DATA_SIZE); + test_full (1); + test_full (2); + test_full (3); test_incremental (FALSE, DATA_SIZE); test_incremental (TRUE, DATA_SIZE); @@ -127,5 +130,9 @@ main (int argc, char *argv[]) test_incremental (FALSE, DATA_SIZE - 2); test_incremental (TRUE, DATA_SIZE - 2); + test_incremental (FALSE, 1); + test_incremental (FALSE, 2); + test_incremental (FALSE, 3); + return 0; } |