aboutsummaryrefslogtreecommitdiffstats
path: root/spec/support/validate_html.rb
diff options
context:
space:
mode:
authorHenare Degan <henare.degan@gmail.com>2013-03-14 15:04:26 +1100
committerHenare Degan <henare.degan@gmail.com>2013-03-14 15:04:26 +1100
commit476890e21eb325cebf44b069c73682d05d189d89 (patch)
tree12ec6135f77a2e1679e6ea359d9bf593b7515838 /spec/support/validate_html.rb
parentdbba2b82c087f8098674dd5d3aa56dd757add078 (diff)
HTML validation was removed in 25ad21e0c93c7e79a5324067401f6c2b0340b9d6
Diffstat (limited to 'spec/support/validate_html.rb')
-rw-r--r--spec/support/validate_html.rb65
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