Skip to content

Commit

Permalink
Support detailed_message for MixinClassError
Browse files Browse the repository at this point in the history
  • Loading branch information
ksss committed Mar 20, 2023
1 parent 1c503b6 commit d15b41b
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 0 deletions.
2 changes: 2 additions & 0 deletions lib/rbs/errors.rb
Original file line number Diff line number Diff line change
Expand Up @@ -426,6 +426,8 @@ def location
end

class MixinClassError < DefinitionError
include DetailedMessageable

attr_reader :type_name
attr_reader :member

Expand Down
21 changes: 21 additions & 0 deletions test/rbs/ancestor_builder_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -700,6 +700,13 @@ class Qux

assert_raises MixinClassError do
builder.instance_ancestors(type_name("::Qux"))
end.tap do |error|
assert_equal <<~DETAILED_MESSAGE, error.detailed_message if Exception.method_defined?(:detailed_message)
#{error.message} (RBS::MixinClassError)

include Foo
^^^^^^^^^^^
DETAILED_MESSAGE
end
end
end
Expand All @@ -723,6 +730,13 @@ class Qux

assert_raises MixinClassError do
builder.instance_ancestors(type_name("::Qux"))
end.tap do |error|
assert_equal <<~DETAILED_MESSAGE, error.detailed_message if Exception.method_defined?(:detailed_message)
#{error.message} (RBS::MixinClassError)

prepend Foo
^^^^^^^^^^^
DETAILED_MESSAGE
end
end
end
Expand All @@ -747,6 +761,13 @@ class Qux

assert_raises MixinClassError do
builder.one_singleton_ancestors(type_name("::Qux"))
end.tap do |error|
assert_equal <<~DETAILED_MESSAGE, error.detailed_message if Exception.method_defined?(:detailed_message)
#{error.message} (RBS::MixinClassError)

extend Foo
^^^^^^^^^^
DETAILED_MESSAGE
end
end
end
Expand Down

0 comments on commit d15b41b

Please sign in to comment.