From: Niels Möller Date: Mon, 30 Sep 2002 19:53:53 +0000 (+0200) Subject: (test_main): Test encoding and decoding X-Git-Tag: nettle_1.6_release_20021003~43 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6ed22096c187ce3cf25546d3c2055af20dae4047;p=thirdparty%2Fnettle.git (test_main): Test encoding and decoding in place. Rev: src/nettle/testsuite/base64-test.c:1.2 --- diff --git a/testsuite/base64-test.c b/testsuite/base64-test.c index 3ea91680..97833b24 100644 --- a/testsuite/base64-test.c +++ b/testsuite/base64-test.c @@ -11,7 +11,22 @@ test_main(void) test_armor(&nettle_base64, 4, "Hell", "SGVsbA=="); test_armor(&nettle_base64, 5, "Hello", "SGVsbG8="); test_armor(&nettle_base64, 6, "Hello", "SGVsbG8A"); - test_armor(&nettle_base64, 4, "\377\377\377\377", "/////w=="); + test_armor(&nettle_base64, 4, "\xff\xff\xff\xff", "/////w=="); + { + /* Test overlapping areas */ + uint8_t buffer[] = "Helloxxxx"; + struct base64_ctx ctx; + + ASSERT(BASE64_ENCODE_LENGTH(5) == 8); + ASSERT(8 == base64_encode(buffer, 5, buffer)); + ASSERT(MEMEQ(9, buffer, "SGVsbG8=x")); + buffer[6] = '='; + + base64_decode_init(&ctx); + ASSERT(4 == base64_decode_update(&ctx, buffer, 8, buffer)); + ASSERT(MEMEQ(9, buffer, "HellbG==x")); + } + SUCCESS(); }