1
0
Fork 0
mirror of https://github.com/rails/execjs synced 2023-03-27 23:21:20 -04:00

fix for rbx 1.9

workaround for rubinius/rubinius#1729
This commit is contained in:
stereobooster 2012-05-17 14:42:26 +03:00
parent b829dcd8b8
commit c87c363379
3 changed files with 6 additions and 4 deletions

View file

@ -56,4 +56,5 @@ task :test do
banner messages.join("\n")
raise "test failures" if failed.any?
raise "all tests skipped" if !passed.any?
end

View file

@ -2,14 +2,14 @@ module ExecJS
class MustangRuntime
class Context
def initialize(source = "")
source = source.encode('UTF-8') if source.respond_to?(:encode)
source = ExecJS::encode(source) if source.respond_to?(:encode)
@v8_context = ::Mustang::Context.new
@v8_context.eval(source)
end
def exec(source, options = {})
source = source.encode('UTF-8') if source.respond_to?(:encode)
source = ExecJS::encode(source) if source.respond_to?(:encode)
if /\S/ =~ source
eval "(function(){#{source}})()", options
@ -17,7 +17,7 @@ module ExecJS
end
def eval(source, options = {})
source = source.encode('UTF-8') if source.respond_to?(:encode)
source = ExecJS::encode(source) if source.respond_to?(:encode)
if /\S/ =~ source
unbox @v8_context.eval("(#{source})")

View file

@ -92,12 +92,13 @@ module ExecJS
end
if defined? Encoding
if (!defined?(RUBY_ENGINE) || RUBY_ENGINE != "jruby")
if (!defined?(RUBY_ENGINE) || (RUBY_ENGINE != "jruby" && RUBY_ENGINE != "rbx"))
def self.encode(string)
string.encode('UTF-8')
end
else
# workaround for jruby bug http://jira.codehaus.org/browse/JRUBY-6588
# workaround for rbx bug https://github.com/rubinius/rubinius/issues/1729
def self.encode(string)
if string.encoding.name == 'ASCII-8BIT'
data = string.dup