summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2007-11-23 17:58:00 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2007-11-23 17:58:00 +0000
commit78c06eafe128e56ad1145a412e317bf7f5b3088c (patch)
tree062659afd3382f99bfeb9dd3329b60cc3b5e3673 /tests
parent39ad6fbd02e247adc3019fd079239d18ef580afe (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.c19
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;
}