diff options
Diffstat (limited to 'test/fiddle')
-rw-r--r-- | test/fiddle/test_function.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/test/fiddle/test_function.rb b/test/fiddle/test_function.rb index 5dc456b82b..a5284e093a 100644 --- a/test/fiddle/test_function.rb +++ b/test/fiddle/test_function.rb @@ -115,6 +115,17 @@ module Fiddle assert_equal("123", str.to_s) end + def test_function_as_method + f = Function.new(@libc['strcpy'], [TYPE_VOIDP, TYPE_VOIDP], TYPE_VOIDP) + klass = Class.new do + define_singleton_method(:strcpy, &f) + end + buff = +"000" + str = klass.strcpy(buff, "123") + assert_equal("123", buff) + assert_equal("123", str.to_s) + end + def test_nogvl_poll # XXX hack to quiet down CI errors on EINTR from r64353 # [ruby-core:88360] [Misc #14937] |