rubyrubygemssprocketsrake-test

warning: method redefined; discarding old decode_www_form and errors


I have forked the ruby gem sprockets and tried to run rake test. I have the following output and really don't know where to begin. Any pointers as to why I am missing the encode method would be very helpful!

$ bundle exec rake
(in /Users/michaelirey/Development/ruby/gems/sprockets)
/Users/michaelirey/.rvm/gems/ruby-1.9.2-p290/gems/rack-1.4.1/lib/rack/backports/uri/common_192.rb:20: warning: method redefined; discarding old decode_www_form
/Users/michaelirey/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/uri/common.rb:836: warning: previous definition of decode_www_form was here
/Users/michaelirey/.rvm/gems/ruby-1.9.2-p290/gems/rack-1.4.1/lib/rack/backports/uri/common_192.rb:32: warning: method redefined; discarding old decode_www_form_component
/Users/michaelirey/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/uri/common.rb:761: warning: previous definition of decode_www_form_component was here
Loaded suite /Users/michaelirey/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/rake_test_loader
Started
.........................................................................................................................................................................................................................EE..................................................................EE.........................................................................................................
Finished in 19.936621 seconds.

  1) Error:
test "eco templates"(TestEnvironment):
NoMethodError: undefined method `encode' for #<Sprockets::BundledAsset:0x00000103087858>
    /Users/michaelirey/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.4.0/lib/execjs/encoding.rb:23:in `encode'
    /Users/michaelirey/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:9:in `initialize'
    /Users/michaelirey/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.4.0/lib/execjs/runtime.rb:44:in `new'
    /Users/michaelirey/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.4.0/lib/execjs/runtime.rb:44:in `compile'
    /Users/michaelirey/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.4.0/lib/execjs/module.rb:27:in `compile'
    /Users/michaelirey/Development/ruby/gems/sprockets/test/test_environment.rb:63:in `block in <module:EnvironmentTests>'

  2) Error:
test "ejs templates"(TestEnvironment):
NoMethodError: undefined method `encode' for #<Sprockets::BundledAsset:0x0000010305b168>
    /Users/michaelirey/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.4.0/lib/execjs/encoding.rb:23:in `encode'
    /Users/michaelirey/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:9:in `initialize'
    /Users/michaelirey/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.4.0/lib/execjs/runtime.rb:44:in `new'
    /Users/michaelirey/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.4.0/lib/execjs/runtime.rb:44:in `compile'
    /Users/michaelirey/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.4.0/lib/execjs/module.rb:27:in `compile'
    /Users/michaelirey/Development/ruby/gems/sprockets/test/test_environment.rb:69:in `block in <module:EnvironmentTests>'

  3) Error:
test "eco templates"(TestIndex):
NoMethodError: undefined method `encode' for #<Sprockets::BundledAsset:0x00000101624740>
    /Users/michaelirey/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.4.0/lib/execjs/encoding.rb:23:in `encode'
    /Users/michaelirey/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:9:in `initialize'
    /Users/michaelirey/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.4.0/lib/execjs/runtime.rb:44:in `new'
    /Users/michaelirey/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.4.0/lib/execjs/runtime.rb:44:in `compile'
    /Users/michaelirey/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.4.0/lib/execjs/module.rb:27:in `compile'
    /Users/michaelirey/Development/ruby/gems/sprockets/test/test_environment.rb:63:in `block in <module:EnvironmentTests>'

  4) Error:
test "ejs templates"(TestIndex):
NoMethodError: undefined method `encode' for #<Sprockets::BundledAsset:0x000001015f5710>
    /Users/michaelirey/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.4.0/lib/execjs/encoding.rb:23:in `encode'
    /Users/michaelirey/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:9:in `initialize'
    /Users/michaelirey/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.4.0/lib/execjs/runtime.rb:44:in `new'
    /Users/michaelirey/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.4.0/lib/execjs/runtime.rb:44:in `compile'
    /Users/michaelirey/.rvm/gems/ruby-1.9.2-p290/gems/execjs-1.4.0/lib/execjs/module.rb:27:in `compile'
    /Users/michaelirey/Development/ruby/gems/sprockets/test/test_environment.rb:69:in `block in <module:EnvironmentTests>'

392 tests, 995 assertions, 0 failures, 4 errors, 0 skips

Test run options: --seed 36185
rake aborted!
Command failed with status (1): [/Users/michaelirey/.rvm/rubies/ruby-1.9.2-...]

Tasks: TOP => default => test
(See full trace by running task with --trace)

Solution

  • I pulled an update into my fork from the main repository and the tests now pass!