diff options
author | Henare Degan <henare.degan@gmail.com> | 2013-03-14 15:04:26 +1100 |
---|---|---|
committer | Henare Degan <henare.degan@gmail.com> | 2013-03-14 15:04:26 +1100 |
commit | 476890e21eb325cebf44b069c73682d05d189d89 (patch) | |
tree | 12ec6135f77a2e1679e6ea359d9bf593b7515838 /spec/support/validate_html.rb | |
parent | dbba2b82c087f8098674dd5d3aa56dd757add078 (diff) |
HTML validation was removed in 25ad21e0c93c7e79a5324067401f6c2b0340b9d6
Diffstat (limited to 'spec/support/validate_html.rb')
-rw-r--r-- | spec/support/validate_html.rb | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/spec/support/validate_html.rb b/spec/support/validate_html.rb deleted file mode 100644 index 403865c74..000000000 --- a/spec/support/validate_html.rb +++ /dev/null @@ -1,65 +0,0 @@ -# Validate an entire HTML page -def validate_html(html) - $tempfilecount = $tempfilecount + 1 - tempfilename = File.join(Dir::tmpdir, "railshtmlvalidate."+$$.to_s+"."+$tempfilecount.to_s+".html") - File.open(tempfilename, "w+") do |f| - f.puts html - end - if not system($html_validation_script, *($html_validation_script_options +[tempfilename])) - raise "HTML validation error in " + tempfilename + " HTTP status: " + @response.response_code.to_s - end - File.unlink(tempfilename) - return true -end - -# Validate HTML fragment by wrapping it as the <body> of a page -def validate_as_body(html) - validate_html('<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">' + - "<html><head><title>Test</title></head><body>#{html}</body></html>") -end - -# Monkeypatch! Validate HTML in tests. -$html_validation_script_found = false -AlaveteliConfiguration::utility_search_path.each do |d| - $html_validation_script = File.join(d, "validate") - $html_validation_script_options = ["--charset=utf-8"] - if File.file? $html_validation_script and File.executable? $html_validation_script - $html_validation_script_found = true - break - end -end -if $tempfilecount.nil? - $tempfilecount = 0 - if $html_validation_script_found - module ActionController - class TestCase - module Behavior - # Hook into the process function, so can automatically get HTML after each request - alias :original_process :process - def is_fragment - # XXX there must be a better way of doing this! - return @request.path_parameters["action"] == "search_typeahead" - end - def process(action, parameters = nil, session = nil, flash = nil, http_method = 'GET') - self.original_process(action, parameters, session, flash, http_method) - # don't validate auto-generated HTML - return if @request.query_parameters["action"] == "get_attachment_as_html" - # XXX Is there a better way to check this than calling a private method? - return if @response.body.strip.empty? - # And then if HTML, not a redirect (302, 301) - if @response.content_type == "text/html" && ! [301,302,401].include?(@response.response_code) - if !is_fragment - validate_html(@response.body) - else - # it's a partial - validate_as_body(@response.body) - end - end - end - end - end - end - else - puts "WARNING: HTML validation script " + $html_validation_script + " not found" - end -end |