diff options
Diffstat (limited to 'spec/ruby/core/proc/fixtures/common.rb')
| -rw-r--r-- | spec/ruby/core/proc/fixtures/common.rb | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/spec/ruby/core/proc/fixtures/common.rb b/spec/ruby/core/proc/fixtures/common.rb new file mode 100644 index 0000000000..dfe67d7ba8 --- /dev/null +++ b/spec/ruby/core/proc/fixtures/common.rb @@ -0,0 +1,72 @@ +module ProcSpecs + class ToAryAsNil + def to_ary + nil + end + end + def self.new_proc_in_method + Proc.new + end + + def self.new_proc_from_amp(&block) + block + end + + def self.proc_for_1 + proc { 1 } + end + + class ProcSubclass < Proc + end + + def self.new_proc_subclass_in_method + ProcSubclass.new + end + + class MyProc < Proc + end + + class MyProc2 < Proc + def initialize(a, b) + @first = a + @second = b + end + + attr_reader :first, :second, :initializer + + def initialize_copy(other) + super + @initializer = :copy + @first = other.first + @second = other.second + end + + def initialize_dup(other) + super + @initializer = :dup + @first = other.first + @second = other.second + end + + def initialize_clone(other, **options) + super + @initializer = :clone + @first = other.first + @second = other.second + end + end + + class Arity + def arity_check(&block) + pn = Proc.new(&block).arity + pr = proc(&block).arity + lm = lambda(&block).arity + + if pn == pr and pr == lm + return pn + else + return :arity_check_failed + end + end + end +end |
