O Ruby Iconv funciona com o depurador irb e ruby, mas não em um teste de unidade
Estou executando o Ruby 1.8.7 com Rails 2.3.5 no Ubuntu 10.04 de 64 bits. Eu escrevi um método que deve ter uma string como esta,"École À la Découverte"
e gerar um nome de sistema de arquivos como este"ecole_a_la_decouverte"
:
(Iconv.new('US-ASCII//TRANSLIT', 'utf-8').iconv "École À la Découverte").downcase.split.join('_')
Quando eu testo essa linha no meu código, o teste sempre falha ao dizer que"cole_la_dcouverte"
é desigual para"ecole_a_la_decouverte"
. O estranho é que, se eu inserir uma linha de depurador e usar o console do depurador, o teste será aprovado. Além disso, executar esta linha manualmente emirb
e./script/console
parece funcionar.
Alguém sabe o que está acontecendo e por que esse teste está falhando? Meu único pensamento é que, incluindo o depurador ouirb
de alguma forma, adiciona mais suporte ao UTF-8, mas não consigo descobrir para onde ir a seguir.
Desde já, obrigado!