2012-07-12 10 views
7

He buscado ayer todo el día un validador HTML que pueda usar para verificar el código generado por la aplicación my rails. Hasta ahora, he probado varias estrategias diferentes, como RailsTidy, que ya no funciona a partir de Rails 1.9, tidy_ffi, que he tenido dificultades para "requerir" -ing cuando se ejecuta en la consola de rieles, y el Validador Total de FireFox, que siempre me da el mismo error independientemente de lo que estoy comprobando.¿Hay validadores (locales) de HTML para Ruby on Rails que funcionen?

Mi objetivo es verificar mi código sin tener que subir nada a Internet. Sería muy útil poder ejecutar pruebas desde el terminal (estoy usando RedHat Linux) o ejecutar pruebas en un servidor localhost en ejecución.

Para ahorrarme otro día (o posiblemente más) de frustración, he traído esta pregunta aquí y me gustaría saber si alguien más ha trabajado con éxito con un validador para Ruby on Rails.

+0

salida esta pregunta en StackOverflow: http://stackoverflow.com/questions/1287952/how-do-i-validate-xhtml-with-nokogiri –

+0

Gracias, Voy a tr y esto fuera. – boka

Respuesta

4

Pruebe mi gema, html_acceptance. Utiliza HTML Tidy para hacer la validación debajo del capó. Lo saqué hace un tiempo, pero hasta ahora ha pasado desapercibido. Me ha resultado útil, y si informas problemas/tienes solicitudes de funciones, las miraré felizmente.

En las muestras, tengo una costumbre RSpec de coincidencias, por lo que si se agrega que matcher costumbre, en sus pruebas de integración dentro de las especificaciones/solicitudes que puede hacer:

page.should have_valid_html 

La idea es que se puede usar dentro pruebas de integración, e incluso si obtienes advertencias/fallas menores que no te importan (TIDY se queja de algunos hacks específicos de IE, por ejemplo), puedes entrar, aceptarlos y, siempre que el resultado de la validación sea constante, la prueba luego pasará.

Además, debe tener ordenada la ruta. Entonces en OS X: puerto install htmltidy o Ubuntu sudo apt-get install tidy.

+0

Agregué un poco más acerca de cómo se pretendía usar para mi respuesta ... – ebeland

+0

Anexando a mi comentario anterior, esto parece increíblemente simple. ¿Hay alguna configuración importante que deba preocuparme? (Aparte de instalar ordenado y su gema) – boka

+0

No, simplemente decidiendo una ubicación para que se almacenen los archivos de resultados y creando esa carpeta.En lugar de/tmp/validation (según los ejemplos) podría usar algo usar una carpeta en el proyecto dependiendo del escenario. Ah, y no olvides solicitar el mezclador personalizado (en/samples), si estás usando esto con RSpec. – ebeland

2

Estoy trabajando en una joya de validación de HTML/CSS todo en uno para las aplicaciones de Ruby On Rails. Su nombre es Headhunter.

A partir de los documentos:

Headhunter es una herramienta de validación de HTML y CSS que inyecta en sus rieles disponen de pruebas y automágicamente comprueba todo el código HTML generado y CSS para la validez.

Además, también busca los selectores de CSS no utilizados (y por lo tanto superfluos).

Todo lo que tiene que hacer es añadir gem 'headhunter' a su Gemfile en entorno de prueba:

group :test do 
    gem 'headhunter' 
end 

El resto es todo hecho automagicamente para usted, y obtendrá una estadística para validness de su aplicación en el final de las pruebas, así:

Validated 42 HTML pages. 
41 pages are valid. 
1 page is invalid. 
Open .validation/results.html to view full results. 

Validated 1 stylesheets. 
1 stylesheet is invalid. 
    application.css: 
    - Invalid css: line 1: Property bla doesn't exist 

Found 23 CSS selectors. 
20 selectors are in use. 
3 selectors are not in use: a img, #flash.failure, input[type='file']