Search code examples
rubytextescapingdouble-quotespage-object-gem

How to Escape Double Quotes from Ruby Page Object text


In using the Page Object gem, I'm trying to pull text from a page to verify error messages. One of these error messages contains double-quotes, but when the page object pulls the text from the page, it pulls some other characters.

expected ["Please select a category other than the Default â?oEMSâ?? before saving."] 
to include "Please select a category other than the Default \"EMS\" before saving." 
(RSpec::Expectations::ExpectationNotMetError)

I'm not quite sure how to escape these - I'm not sure where I could use Regexs and be able to escape these odd characters.


Solution

  • Honestly you are over complicating your validation.

    I would recommend simplifying what you are trying to do, start by asking yourself: Is the part in quotes a critical part of your validation?

    If it is, isolate it by doing a String.contains("EMS")

    If it is not, then you are probably doing too much work, only check for exactly what you need in validation:

    String.beginsWith("Please select a category other than the Default")

    With respect to the actual issue you are having, on a technical level you have an encoding issue. Encode your result string with utf-8 before you pass it to your validation and you will be fine.

    Good luck