diff options
Diffstat (limited to 'spec/ruby/core/exception/fixtures/common.rb')
| -rw-r--r-- | spec/ruby/core/exception/fixtures/common.rb | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/spec/ruby/core/exception/fixtures/common.rb b/spec/ruby/core/exception/fixtures/common.rb new file mode 100644 index 0000000000..3d8a3c3430 --- /dev/null +++ b/spec/ruby/core/exception/fixtures/common.rb @@ -0,0 +1,102 @@ +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 + + class AClass; end + module AModule; end +end + +class NameErrorSpecs + class ReceiverClass + def call_undefined_class_variable + @@doesnt_exist + end + end +end + +module DetailedMessageSpec + C = Class.new(RuntimeError) +end |
