Reputation: 561
I'm trying to pass this simple assertion
assert_select '.price', /\€[,\d]+\.\d\d/
In the view the code for the .price class is
<span class="price">
<%= number_to_currency(product.price, options = {:format => "%u%n", :unit => "€"}) %> </span>
When I'm using the default <%= number_to_currency(product.price) %>
everything's just fine. When I switch to the Euro it just wont work.
This is the error message:
/Users/noapologize/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.0.rc4/lib/active_support/dependencies.rb:237:in `require': /Users/noapologize/rails_projects/depot/test/functional/store_controller_test.rb:11: invalid multibyte char (UTF-8) (SyntaxError)
/Users/noapologize/rails_projects/depot/test/functional/store_controller_test.rb:11: invalid multibyte char (UTF-8)
/Users/noapologize/rails_projects/depot/test/functional/store_controller_test.rb:11: syntax error, unexpected $end, expecting keyword_end
assert_select '.price', /\€[,\d]+\.\d\d/
I suppose the way I'm writing this assert_select is wrong. Could someone enlighten me?
Thank you for your time.
Upvotes: 2
Views: 1227
Reputation: 7856
If you remove the escape slash from the Euro sign this regexp will compile properly and work.
Upvotes: 2