Estoy escribiendo una especificación de solicitud y me gustaría probar la presencia de la cadena "Informes» Informes de antigüedad ". Me aparece un error (no válido carbón de varios bytes) si pongo en el personaje de mi expresión de coincidencias directamente, por lo que he intentado esto: page.should have_content("Reports » Aging Reports")
Prueba de Rspec para entidades html en el contenido de la página
esto falla la prueba con el mensaje:
expected there to be content "Reports » Aging Reports" in "\n Reports » Aging Reports\n
I' he intentado cosas como .html_safe
sin éxito. ¿Hay alguna manera de probar el texto que contiene entidades html?
Editar:
Aquí está el área correspondiente de la fuente html:
<a href="/reports">Reports</a> » <a href="/aging_reports">Aging Reports</a>
Eso es probablemente porque el código HTML contiene un '» 'y no un' '». Cambia el HTML para que uses '»' en lugar de '» '. ¿Cuál es el HTML prestado real? ¿Es la parte '» 'de la fuente HTML o está definida como' » 'en la fuente HTML? Por favor, muéstranos el código fuente HTML. No estoy seguro de por qué el "esperado" muestra '»' en lugar de '»', sin embargo. – Zabba
El HTML es en realidad » El » es otra forma de la entidad » que probé, pero he actualizado la pregunta. – MWean
Parece que RSpec está convirtiendo '»' en '» 'para usted. Intenta incluir el personaje real en tu prueba. – thomasfedb