Files
EWF/library/text/encoder/tests/test_base64.e
2014-04-09 16:56:40 +02:00

82 lines
1.7 KiB
Plaintext

note
description: "[
Eiffel tests that can be executed by testing tool.
]"
author: "EiffelStudio test wizard"
date: "$Date$"
revision: "$Revision$"
testing: "type/manual"
class
TEST_BASE64
inherit
EQA_TEST_SET
feature -- Test routines
test_base64_encoder
note
testing: "base64"
do
test_base64_encoding ("Il était une fois !")
end
test_base64_encoding (s: STRING_8)
local
u: STRING_8
e: STRING_8
b: BASE64
do
create b
e := b.encoded_string (s)
u := b.decoded_string (e)
assert ("decoded encoded string is same", u ~ s)
end
feature -- Tests
test_valid_64_encoding
do
assert ("Expected encoded True:", is_valid_base64_encoding ((create {BASE64}).encoded_string ("content")))
end
test_not_valid64_encoding
do
assert ("Expected encoded False:", not is_valid_base64_encoding ("content"))
assert ("Expected encoded False:", not is_valid_base64_encoding ("!@#$%%^"))
end
feature {NONE} -- Implementation
is_valid_base64_encoding (a_string: STRING): BOOLEAN
-- is `a_string' base64 encoded?
local
l_encoder: BASE64
l_string: STRING
l_retry: BOOLEAN
do
if not l_retry then
create l_encoder
l_string := l_encoder.decoded_string (a_string)
Result := not l_encoder.has_error
end
rescue
l_retry := True
retry
end
note
copyright: "Copyright (c) 1984-2011, Eiffel Software and others"
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
source: "[
Eiffel Software
5949 Hollister Ave., Goleta, CA 93117 USA
Telephone 805-685-1006, Fax 805-685-6869
Website http://www.eiffel.com
Customer support http://support.eiffel.com
]"
end