diff --git a/Gemfile b/Gemfile index 8fcb1c3..0c794f5 100644 --- a/Gemfile +++ b/Gemfile @@ -7,3 +7,4 @@ group :sig do gem "rbs" gem "rdoc", "<= 6.11" end +gemspec diff --git a/lib/base64.rb b/lib/base64.rb index cd2ecc1..9684cf8 100644 --- a/lib/base64.rb +++ b/lib/base64.rb @@ -360,4 +360,13 @@ def urlsafe_decode64(str) end strict_decode64(str) end + + class << self + alias encode encode64 + alias decode decode64 + alias strict_encode strict_encode64 + alias strict_decode strict_decode64 + alias urlsafe_encode urlsafe_encode64 + alias urlsafe_decode urlsafe_decode64 + end end diff --git a/test/base64/test_base64.rb b/test/base64/test_base64.rb index ce71604..4ed0ee8 100644 --- a/test/base64/test_base64.rb +++ b/test/base64/test_base64.rb @@ -112,4 +112,25 @@ def test_urlsafe_decode64_unpadded assert_equal("\0\0\0", Base64.urlsafe_decode64("AAAA")) assert_raise(ArgumentError) { Base64.urlsafe_decode64("AA=") } end + + def test_aliases + assert_equal(Base64.method(:encode), Base64.method(:encode64)) + assert_equal(Base64.method(:decode), Base64.method(:decode64)) + assert_equal(Base64.method(:strict_encode), Base64.method(:strict_encode64)) + assert_equal(Base64.method(:strict_decode), Base64.method(:strict_decode64)) + assert_equal(Base64.method(:urlsafe_encode), Base64.method(:urlsafe_encode64)) + assert_equal(Base64.method(:urlsafe_decode), Base64.method(:urlsafe_decode64)) + end + + class Test + include Base64 + def check(name) + respond_to?(name, true) + end + end + + def test_module_function_test + assert_equal(true, Test.new.check(:encode64)) + assert_equal(false, Test.new.check(:encode)) + end end