M lib/dhall/as_dhall.rb => lib/dhall/as_dhall.rb +5 -1
@@ 35,7 35,11 @@ module Dhall
refine ::String do
def as_dhall
- Text.new(value: self)
+ if encoding == Encoding::BINARY
+ bytes.as_dhall
+ else
+ Text.new(value: self)
+ end
end
end
M test/test_as_dhall.rb => test/test_as_dhall.rb +4 -3
@@ 18,10 18,11 @@ class TestAsDhall < Minitest::Test
)
end
- def test_string_failure
- assert_raises Encoding::UndefinedConversionError do
+ def test_string_binary
+ assert_equal(
+ Dhall::List.new(elements: [Dhall::Natural.new(value: 0xff)]),
"\xff".b.as_dhall
- end
+ )
end
def test_symbol