From 1c674a795e5cbf56e38a72c6d882324fde71de5d Mon Sep 17 00:00:00 2001 From: Lucas Bajolet Date: Wed, 8 Jun 2016 11:07:43 -0400 Subject: [PATCH] tests: Improved base64 test for edge strict cases Signed-off-by: Lucas Bajolet --- tests/sav/test_base64.res | 13 +++++++++++++ tests/test_base64.nit | 34 +++++++++++++++++++++++++++------- 2 files changed, 40 insertions(+), 7 deletions(-) diff --git a/tests/sav/test_base64.res b/tests/sav/test_base64.res index 01698e8..06bc37f 100644 --- a/tests/sav/test_base64.res +++ b/tests/sav/test_base64.res @@ -12,3 +12,16 @@ Zm9v: foo Zm9vYg==: foob Zm9vYmE=: fooba Zm9vYmFy: foobar +Zm9vYg: foob +Zm9vYmE: fooba +Zm9v*Yg: foob +: +Znm=.is_base64? true +Znm===.is_base64? false +Z.sd=.is_base64? false +Z==D.is_base64? false +: +Znm=: No error +Znm===: Invalid padding length +Z.sd=: Invalid Base64 character at position 1: . +Z==D: Invalid padding character D at position 3 diff --git a/tests/test_base64.nit b/tests/test_base64.nit index af82e47..fb0d769 100644 --- a/tests/test_base64.nit +++ b/tests/test_base64.nit @@ -24,10 +24,30 @@ print "foob: " + "foob".encode_base64 print "fooba: " + "fooba".encode_base64 print "foobar: " + "foobar".encode_base64 -print ":" + "".decode_base64 -print "Zg==: " + "Zg==".decode_base64 -print "Zm8=: " + "Zm8=".decode_base64 -print "Zm9v: " + "Zm9v".decode_base64 -print "Zm9vYg==: " + "Zm9vYg==".decode_base64 -print "Zm9vYmE=: " + "Zm9vYmE=".decode_base64 -print "Zm9vYmFy: " + "Zm9vYmFy".decode_base64 +print ":" + "".decode_base64.to_s +print "Zg==: " + "Zg==".decode_base64.to_s +print "Zm8=: " + "Zm8=".decode_base64.to_s +print "Zm9v: " + "Zm9v".decode_base64.to_s +print "Zm9vYg==: " + "Zm9vYg==".decode_base64.to_s +print "Zm9vYmE=: " + "Zm9vYmE=".decode_base64.to_s +print "Zm9vYmFy: " + "Zm9vYmFy".decode_base64.to_s + +print "Zm9vYg: " + "Zm9vYg".decode_base64.to_s +print "Zm9vYmE: " + "Zm9vYmE".decode_base64.to_s +print "Zm9v*Yg: " + "Zm9v*Yg".decode_base64.to_s + +print ":" +print "Znm=.is_base64? " + "Znm=".is_base64.to_s +print "Znm===.is_base64? " + "Znm===".is_base64.to_s +print "Z.sd=.is_base64? " + "Z.sd=".is_base64.to_s +print "Z==D.is_base64? " + "Z==D".is_base64.to_s + +print ":" +printn "Znm=: " +print "Znm=".check_base64 or else "No error" +printn "Znm===: " +print "Znm===".check_base64 or else "No error" +printn "Z.sd=: " +print "Z.sd=".check_base64 or else "No error" +printn "Z==D: " +print "Z==D".check_base64 or else "No error" -- 1.7.9.5