summaryrefslogtreecommitdiff
path: root/test/fiddle/test_function.rb
diff options
context:
space:
mode:
authorSutou Kouhei <kou@clear-code.com>2024-11-09 15:33:24 +0900
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2024-11-11 09:19:48 +0900
commita23c6db5c52dccd670a530f08662adf485ab5151 (patch)
tree83d3f3c789cbd3a64a47b5277a2539d9e0ce8b53 /test/fiddle/test_function.rb
parent5eaa4c76c64c5d14e826fbd0eeef014643f9fb27 (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.rb25
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