82 lines
1.7 KiB
Plaintext
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
|
|
|
|
|