Skip to content

Commit

Permalink
Merge pull request #111 from casperisfine/better-encoding-check
Browse files Browse the repository at this point in the history
Improve `Encoding` handling
  • Loading branch information
byroot committed Feb 17, 2022
2 parents d8a6d4c + e2a113c commit e6db400
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions lib/execjs/encoding.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ module Encoding
# workaround for jruby bug http://jira.codehaus.org/browse/JRUBY-6588
# workaround for rbx bug https://github.com/rubinius/rubinius/issues/1729
def encode(string)
if string.encoding.name == 'ASCII-8BIT'
if string.encoding == ::Encoding::BINARY
data = string.dup
data.force_encoding('UTF-8')
data.force_encoding(::Encoding::UTF_8)

unless data.valid_encoding?
raise ::Encoding::UndefinedConversionError, "Could not encode ASCII-8BIT data #{string.dump} as UTF-8"
raise ::Encoding::UndefinedConversionError, "Could not encode binary data #{string.dump} as UTF-8"
end
else
data = string.encode('UTF-8')
data = string.encode(::Encoding::UTF_8)
end
data
end
Expand Down

0 comments on commit e6db400

Please sign in to comment.