1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/spec/ruby/core/exception/fixtures/common.rb
eregon b46da8d84e Update to ruby/spec@4bb0f25
* Specs added by TruffleRuby.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-06-13 21:58:54 +00:00

95 lines
1.4 KiB
Ruby

module ExceptionSpecs
class Exceptional < Exception; end
class Backtrace
def self.backtrace
begin
raise # If you move this line, update backtrace_spec.rb
rescue RuntimeError => e
e.backtrace
end
end
def self.backtrace_locations
begin
raise
rescue RuntimeError => e
e.backtrace_locations
end
end
end
class UnExceptional < Exception
def backtrace
nil
end
def message
nil
end
end
class ConstructorException < Exception
def initialize
end
end
class OverrideToS < RuntimeError
def to_s
"this is from #to_s"
end
end
class EmptyToS < RuntimeError
def to_s
""
end
end
class InitializeException < StandardError
attr_reader :ivar
def initialize(message = nil)
super
@ivar = 1
end
def initialize_copy(other)
super
ScratchPad.record object_id
end
end
module ExceptionModule
def repr
1
end
end
end
module NoMethodErrorSpecs
class NoMethodErrorA; end
class NoMethodErrorB; end
class NoMethodErrorC;
protected
def a_protected_method;end
private
def a_private_method; end
end
class NoMethodErrorD; end
class InstanceException < Exception
end
end
class NameErrorSpecs
class ReceiverClass
def call_undefined_class_variable
@@doesnt_exist
end
end
end