2011-04-10 2 views
0

form.erbCapybara bouton d'envoi - incompatible encodage regexp match de

<%= form_for @search do |f| %> 
    <%= f.text_field :name %> 
    <%= f.submit 'submit' %> 
<% end %> 

searches_spec.rb

require 'spec_helper' 

describe SearchesController do 
    it "should do something" do 
    visit searches_path 

    page.fill_in 'search_name', :with => 'oak' 

    click_button 'submit' 
    end 
end 

sortie

Failure/Error: click_button 'submit' 
Encoding::CompatibilityError: 
    incompatible encoding regexp match (UTF-8 regexp with ASCII-8BIT string) 
# ./spec/integration/searches_spec.rb:16:in `block (2 levels) in <top (required)>' 

Essayer de présenter simplement une forme Capybara, mais obtenir cette erreur. Des idées?

rails 3.1, capybara 0.4.1.2, rspec-rails 2.5.0

+0

Il semble y avoir un bug dans le rack qui est à l'origine ceci: https://github.com/rack/rack/pull/140 – mculp

Répondre

2

Comme mculp noté dans les commentaires, c'est bien le mentioned bug in Rack.

Pour résoudre ce problème localement pour l'instant, jeter ce qui suit dans votre spec_helper.rb ou env.rb pour concombre (partout après rack a été chargé.)

module Rack::Utils 
    def escape(s) 
    CGI.escape(s.to_s) 
    end 
end 
Questions connexes