2012-02-18 1 views
0

Quelqu'un at-il vécu ce genre de test?Rspec have_link avec des mots d'accent

Faire ceci:

# this works 
it { should have_link("Next") } 

mais le même test en utilisant un mot qui contiennent des accents comme "Próximo" (signifie Next en portugais)

# it fails 
it { should have_link("Próximo") } 

erreur:

1) UserPages index pagination 
    Failure/Error: it { should have_link("Próximo") } 
     expected link "Próximo" to return something 
    # ./spec/requests/user_pages_spec.rb:29:in `block (4 levels) in <top (required)>' 

Finished in 2.8 seconds 
28 examples, 1 failure 

user_pages_spec.rb (uniquement le code correspondant)

describe "pagination" do 
    before(:all) { 30.times { FactoryGirl.create(:user) } } 
    after(:all) { User.delete_all } 

    it { should_not have_link('delete') } 
    it { should have_link("Próximo") } 
    it { should have_link('2') } 
end 

Comment effectuer ce test?

Répondre

1

fixe. Pendant un instant, j'ai oublié que je courais sous Spork et tout ce que j'avais à faire était de redémarrer le serveur web et de redémarrer le Spork.

Astuce: Si vous exécutez Nginx, accédez à la console et tapez touch tmp/restart.txt sous votre dossier de projet. Il va redémarrer le Nginx.

3

Une façon serait de mettre:

# encoding: utf-8 

en haut de votre fichier de spécification si Ruby connaît le fichier contient des caractères non-ASCII.

plus d'info: http://nuclearsquid.com/writings/ruby-1-9-encodings/

+0

il a déjà cela. –

+0

Quelle version de Ruby utilisez-vous? Avec Ruby 1.9.3, Rails 3.2, RSpec 2.8 et ce commentaire je viens d'essayer 'it {devrait have_link (" Próximo ")}' sur une page et ça passe. – pjumble

+0

rails 3.2.1, ruby ​​1.9.2p290 et rspec 2.8.1 - il échoue –