Frage

Ich habe einen Gurkenschritt, der kürzlich fehlgeschlagen begann, wenn eine   wurde zu meinem Layout hinzugefügt. Wenn ich das nehme   Ich habe alle bestehen. Wenn ich es wieder einsetzt, schlägt jeder Test, der die von Webrat bereitgestellte Click_Link -Methode verwendet, mit der folgenden Nachricht fehl:

And he follows 'Unsubscribe'
  incompatible encoding regexp match (UTF-8 regexp with ASCII-8BIT string) (Encoding::CompatibilityError)
  (eval):3:in `click_link`
  (eval):2:in `click_link`
  /path_to_project/webrat_steps.rb:19:in `/^(I|he|she) follows? '([^\"]*)'$/'
  features/manage_subscriptions.feature:59:in `And he follows 'Unsubscribe''

Hat jemand irgendwelche Vorschläge?

War es hilfreich?

Lösung

Ich hatte das gleiche Problem unter Ruby 1.9 und Rails 2.3.2, um es zum Laufen zu bringen, musste ich die folgenden Änderungen im Webrat -Edelstein vornehmen.

Im lib/webrat/core/locators/link_locator.rb Ich musste mich ändern:

def replace_nbsp(str)
  str.gsub([0xA0].pack('U'), ' ')
end

zu

def replace_nbsp(str)
  if str.respond_to?(:valid_encoding?)
    str.force_encoding('UTF-8').gsub(/\xc2\xa0/u, ' ')
  else
    str.gsub(/\xc2\xa0/u, ' ')
  end
end

Es gab auch ein Patch, der Webrat eingereicht hat Ticket 260, aber es hat bei mir nicht funktioniert, also musste ich das oben genannte tun. Hoffe das hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top