Sha256: 233be46b166d21d12208a95f0a0288bf41f6ab8b1644f6bfb349f88c2bb99b1c

Contents?: true

Size: 913 Bytes

Versions: 2

Compression:

Stored size: 913 Bytes

Contents

require "test/unit"
require "otp/base32"

class TestBase32 < Test::Unit::TestCase
  def assert_encode(encoded, plain)
    assert_equal(encoded, ::OTP::Base32.encode(plain))
  end

  def assert_decode(plain, encoded)
    plain &&= plain.dup.force_encoding("binary")
    assert_equal(plain, ::OTP::Base32.decode(encoded))
  end

  def assert_encode_decode(plain, encoded)
    assert_decode(plain, encoded)
    assert_encode(encoded, plain)
  end

  def test_base32
    assert_encode_decode(nil, nil)
    assert_encode_decode("", "")
    assert_encode_decode("f", "MY======")
    assert_encode_decode("fo", "MZXQ====")
    assert_encode_decode("foo", "MZXW6===")
    assert_encode_decode("foob", "MZXW6YQ=")
    assert_encode_decode("fooba", "MZXW6YTB")
    assert_encode_decode("foobar", "MZXW6YTBOI======")
    assert_encode_decode("\u{3042}\u{3044}\u{3046}\u{3048}\u{304a}", "4OAYFY4BQTRYDBXDQGEOHAMK")
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
otp-0.0.4 test/test_base32.rb
otp-0.0.3 test/test_base32.rb