diff --git a/CHANGELOG.md b/CHANGELOG.md index 172e16345..1837ad8a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,9 @@ ## 1.3.5 (unreleased) +BUG FIXES: + - core: Fix some places where "no error message" errors were being + reported when in fact there were errors. [GH-2328] ## 1.3.4 (October 2, 2013) diff --git a/lib/vagrant/errors.rb b/lib/vagrant/errors.rb index d5916cd7d..8fe583e0d 100644 --- a/lib/vagrant/errors.rb +++ b/lib/vagrant/errors.rb @@ -60,7 +60,7 @@ module Vagrant message = { :_key => message } if message && !message.is_a?(Hash) message = { :_key => error_key, :_namespace => error_namespace }.merge(message || {}) - if error_key + if message[:_key] message = translate_error(message) else message = error_message diff --git a/test/unit/vagrant/errors_test.rb b/test/unit/vagrant/errors_test.rb index bbd7610cf..66a2d1ea7 100644 --- a/test/unit/vagrant/errors_test.rb +++ b/test/unit/vagrant/errors_test.rb @@ -17,6 +17,14 @@ describe Vagrant::Errors::VagrantError do its("status_code") { should eq(1) } end + describe "passing error key through options" do + subject { described_class.new(_key: "test_key") } + + it "should use the translation for the message" do + subject.to_s.should == "test value" + end + end + describe "subclass with error message" do let(:klass) do Class.new(described_class) do