@@ -88,7 +88,7 @@ def test_sha2
88
88
end
89
89
90
90
def test_sha512_truncate
91
- pend "SHA512_224 is not implemented" unless digest_available? ( 'SHA512 -224' )
91
+ pend "SHA512_224 is not implemented" unless digest_available? ( 'sha512 -224' )
92
92
sha512_224_a = "d5cdb9ccc769a5121d4175f2bfdd13d6310e0d3d361ea75d82108327"
93
93
sha512_256_a = "455e518824bc0601f9fb858ff5c37d417d67c2f8e0df2babe4808858aea830f8"
94
94
@@ -100,7 +100,7 @@ def test_sha512_truncate
100
100
end
101
101
102
102
def test_sha3
103
- pend "SHA3 is not implemented" unless digest_available? ( 'SHA3 -224' )
103
+ pend "SHA3 is not implemented" unless digest_available? ( 'sha3 -224' )
104
104
s224 = '6b4e03423667dbb73b6e15454f0eb1abd4597f9a1b078e3f5b5a6bc7'
105
105
s256 = 'a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a'
106
106
s384 = '0c63a75b845e4f7d01107d852e4c2485c51a50aaaa94fc61995e71bbee983a2ac3713831264adb47fb6bd1e058d5f004'
@@ -126,6 +126,15 @@ def test_openssl_digest
126
126
end
127
127
end
128
128
129
+ def test_digests
130
+ digests = OpenSSL ::Digest . digests
131
+ assert_kind_of Array , digests
132
+ assert_include digests , "md5"
133
+ assert_include digests , "sha1"
134
+ assert_include digests , "sha256"
135
+ assert_include digests , "sha512"
136
+ end
137
+
129
138
private
130
139
131
140
def check_digest ( oid )
@@ -138,11 +147,8 @@ def check_digest(oid)
138
147
end
139
148
140
149
def digest_available? ( name )
141
- begin
142
- OpenSSL ::Digest . new ( name )
143
- rescue RuntimeError
144
- false
145
- end
150
+ @digests ||= OpenSSL ::Digest . digests
151
+ @digests . include? ( name )
146
152
end
147
153
end
148
154
0 commit comments