diff options
| author | Sutou Kouhei <kou@clear-code.com> | 2024-11-09 15:33:24 +0900 |
|---|---|---|
| committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2024-11-11 09:19:48 +0900 |
| commit | a23c6db5c52dccd670a530f08662adf485ab5151 (patch) | |
| tree | 83d3f3c789cbd3a64a47b5277a2539d9e0ce8b53 /test/fiddle/test_function.rb | |
| parent | 5eaa4c76c64c5d14e826fbd0eeef014643f9fb27 (diff) | |
[ruby/fiddle] Accept Symbol as Function name again
GitHub: fix https://github.com/ruby/fiddle/pull/159
It's used by FFI test. So Symbol may be used by other use cases.
https://github.com/ruby/fiddle/pull/139 introduced the "Function name is String" limitation. This
commit removed the limitation.
Reported by Mamoru TASAKA. Thanks!!!
https://github.com/ruby/fiddle/commit/cea30fe5f9
Diffstat (limited to 'test/fiddle/test_function.rb')
| -rw-r--r-- | test/fiddle/test_function.rb | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/test/fiddle/test_function.rb b/test/fiddle/test_function.rb index 6ec40bee06..146dcc7205 100644 --- a/test/fiddle/test_function.rb +++ b/test/fiddle/test_function.rb @@ -37,6 +37,11 @@ module Fiddle assert_equal 'sin', func.name end + def test_name_symbol + func = Function.new(@libm['sin'], [TYPE_DOUBLE], TYPE_DOUBLE, name: :sin) + assert_equal :sin, func.name + end + def test_need_gvl? if RUBY_ENGINE == "jruby" omit("rb_str_dup() doesn't exist in JRuby") @@ -261,7 +266,25 @@ module Fiddle def test_ractor_shareable omit("Need Ractor") unless defined?(Ractor) - assert_ractor_shareable(Function.new(@libm['sin'], [TYPE_DOUBLE], TYPE_DOUBLE)) + assert_ractor_shareable(Function.new(@libm["sin"], + [TYPE_DOUBLE], + TYPE_DOUBLE)) + end + + def test_ractor_shareable_name + omit("Need Ractor") unless defined?(Ractor) + assert_ractor_shareable(Function.new(@libm["sin"], + [TYPE_DOUBLE], + TYPE_DOUBLE, + name: "sin")) + end + + def test_ractor_shareable_name_symbol + omit("Need Ractor") unless defined?(Ractor) + assert_ractor_shareable(Function.new(@libm["sin"], + [TYPE_DOUBLE], + TYPE_DOUBLE, + name: :sin)) end private |
