Skip to content

Commit

Permalink
Merge pull request #802 from rspec/samphippen/trim-error-generator-lines
Browse files Browse the repository at this point in the history
Trim line length in error generator
  • Loading branch information
Sam Phippen committed Oct 23, 2014
2 parents 3da6cdc + cbc739a commit 4496242
Showing 1 changed file with 17 additions and 3 deletions.
20 changes: 17 additions & 3 deletions lib/rspec/mocks/error_generator.rb
Expand Up @@ -41,8 +41,10 @@ def raise_unexpected_message_args_error(expectation, *args)
expected_args = format_args(*expectation.expected_args)
actual_args = format_received_args(*args)
diff = diff_message(expectation.expected_args, args)
message = "#{intro} received #{expectation.message.inspect} #{unexpected_arguments_message(expected_args, actual_args)}"

message = default_error_message(expectation, expected_args, actual_args)
message << "\nDiff:#{diff}" unless diff.empty?

__raise message
end

Expand All @@ -51,17 +53,29 @@ def raise_missing_default_stub_error(expectation, *args)
expected_args = format_args(*expectation.expected_args)
actual_args = format_received_args(*args)
diff = diff_message(expectation.expected_args, args)
message = "#{intro} received #{expectation.message.inspect} #{unexpected_arguments_message(expected_args, actual_args)}"

message = default_error_message(expectation, expected_args, actual_args)
message << "Diff:\n #{diff}" unless diff.empty?
message << "\n Please stub a default value first if message might be received with other args as well. \n"

__raise message
end

# @private
def raise_similar_message_args_error(expectation, *args_for_multiple_calls)
expected_args = format_args(*expectation.expected_args)
actual_args = args_for_multiple_calls.map { |a| format_received_args(*a) }.join(", ")
__raise "#{intro} received #{expectation.message.inspect} #{unexpected_arguments_message(expected_args, actual_args)}"

__raise(default_error_message(expectation, expected_args, actual_args))
end

def default_error_message(expectation, expected_args, actual_args)
[
intro,
"received",
expectation.message.inspect,
unexpected_arguments_message(expected_args, actual_args),
].join(" ")
end

# rubocop:disable Style/ParameterLists
Expand Down

0 comments on commit 4496242

Please sign in to comment.