1
0
Fork 0
digest-blake2b/test/blake2/key_test.rb

43 lines
1.3 KiB
Ruby

require 'test_helper'
class KeyTest < MiniTest::Test
def test_none
key = Digest::Blake2b::Key.none
assert_equal [], key.bytes
end
def test_from_string
key = Digest::Blake2b::Key.from_string('foo bar baz')
assert_equal [102, 111, 111, 32, 98, 97, 114, 32, 98, 97, 122], key.bytes
end
def test_from_string_raises_on_non_ascii_string
assert_raises(ArgumentError) { Digest::Blake2b::Key.from_string('💩') }
end
def test_from_hex
key = Digest::Blake2b::Key.from_hex('DEADBEAF')
assert_equal [222, 173, 190, 175], key.bytes
end
def test_from_hex_raises_on_non_hex_string
assert_raises(ArgumentError) { Digest::Blake2b::Key.from_hex('DEADBEAFZZ') }
end
def test_from_bytes_hex
key = Digest::Blake2b::Key.from_bytes([0xDE, 0xAD, 0xBE, 0xAF])
assert_equal [222, 173, 190, 175], key.bytes
end
def test_from_bytes_int
key = Digest::Blake2b::Key.from_bytes([222, 173, 190, 175])
assert_equal [222, 173, 190, 175], key.bytes
end
def test_from_hex_raises_on_non_valid_byte_array
assert_raises(ArgumentError) { Digest::Blake2b::Key.from_bytes([-1]) }
assert_raises(ArgumentError) { Digest::Blake2b::Key.from_bytes([256]) }
assert_raises(ArgumentError) { Digest::Blake2b::Key.from_bytes(['foo']) }
end
end