Add a failing test for #5605
This commit is contained in:
parent
3b7117b689
commit
790fa9f8e2
|
@ -38,6 +38,35 @@ describe Vagrant::Config::Loader do
|
||||||
|
|
||||||
let(:instance) { described_class.new(versions, version_order) }
|
let(:instance) { described_class.new(versions, version_order) }
|
||||||
|
|
||||||
|
describe "#set" do
|
||||||
|
context "with an object that cannot be inspected" do
|
||||||
|
|
||||||
|
# This represents the euro symbol in UTF-16LE. pack("c*") returns an ASCII
|
||||||
|
# string and so we have to force the encoding
|
||||||
|
UTF_16LE_STRING_THAT_CANNOT_BE_DOWNCAST_TO_ASCII = [0x20, 0xAC].pack("c*").force_encoding("UTF-16LE")
|
||||||
|
|
||||||
|
|
||||||
|
let(:klass_with_bad_inspect_string) do
|
||||||
|
Class.new do
|
||||||
|
def inspect
|
||||||
|
UTF_16LE_STRING_THAT_CANNOT_BE_DOWNCAST_TO_ASCII
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
let(:test_source) {
|
||||||
|
Class.new do
|
||||||
|
def initialize(collaborator)
|
||||||
|
@foo = collaborator.new
|
||||||
|
end
|
||||||
|
end.new(klass_with_bad_inspect_string)
|
||||||
|
}
|
||||||
|
it "does not raise the ascii encoding exception" do
|
||||||
|
instance.set(:arbitrary, test_source)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe "basic loading" do
|
describe "basic loading" do
|
||||||
it "should ignore non-existent load order keys" do
|
it "should ignore non-existent load order keys" do
|
||||||
instance.load([:foo])
|
instance.load([:foo])
|
||||||
|
|
Loading…
Reference in New Issue