summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Kanis <lars@greiz-reinsdorf.de>2023-04-16 21:21:06 +0200
committerLars Kanis <lars@greiz-reinsdorf.de>2023-04-16 21:32:30 +0200
commit3f79722a0c0b1cbed973a3edc963a44e3865f1a1 (patch)
tree1d4179c820b40c55db845da0f0c5b903aec8bd35
parentd5e0dd9b3fc97eb293585c7e2f25a11cc5755cb8 (diff)
downloadffi-3f79722a0c0b1cbed973a3edc963a44e3865f1a1.tar.gz
Add a spec that adds one Function to several modules
It was not yet tested.
-rw-r--r--spec/ffi/function_spec.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/spec/ffi/function_spec.rb b/spec/ffi/function_spec.rb
index a1a50f3..7f90ea3 100644
--- a/spec/ffi/function_spec.rb
+++ b/spec/ffi/function_spec.rb
@@ -59,6 +59,16 @@ describe FFI::Function do
expect(Foo.add(10, 10)).to eq(20)
end
+ it 'can be attached to two modules' do
+ module Foo1; end
+ module Foo2; end
+ fp = FFI::Function.new(:int, [:int, :int], @libtest.find_function('testAdd'))
+ fp.attach(Foo1, 'add')
+ fp.attach(Foo2, 'add')
+ expect(Foo1.add(11, 11)).to eq(22)
+ expect(Foo2.add(12, 12)).to eq(24)
+ end
+
it 'can be used to extend an object' do
fp = FFI::Function.new(:int, [:int, :int], @libtest.find_function('testAdd'))
foo = Object.new