diff options
Diffstat (limited to 'Tools/iExploder/iexploder-1.7.2/src/iexploder.cgi')
-rwxr-xr-x | Tools/iExploder/iexploder-1.7.2/src/iexploder.cgi | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/Tools/iExploder/iexploder-1.7.2/src/iexploder.cgi b/Tools/iExploder/iexploder-1.7.2/src/iexploder.cgi new file mode 100755 index 0000000..c1a86c4 --- /dev/null +++ b/Tools/iExploder/iexploder-1.7.2/src/iexploder.cgi @@ -0,0 +1,48 @@ +#!/usr/bin/ruby +# iExploder - Generates bad HTML files to perform QA for web browsers. +# +# Copyright 2010 Thomas Stromberg - All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +require 'cgi'; +require 'iexploder'; + +$CONFIG_PATH = 'config.yaml' + +ie = IExploder.new($CONFIG_PATH) +cgi = CGI.new("html4"); +ie.cgi_url=ENV['SCRIPT_NAME'] || '?' +ie.browser=ENV['HTTP_USER_AGENT'] || 'unknown' +ie.test_num = cgi.params['t'][0].to_i +ie.subtest_data = cgi.params['s'][0] || nil +ie.random_mode = cgi.params['r'][0] +ie.lookup_mode = cgi.params['l'][0] +ie.stop_num = cgi.params['x'][0] || nil +ie.setRandomSeed() + +mime_type = cgi.params['m'][0] || nil +if mime_type: + header_options = ie.buildHeaders(mime_type) + # The CGI library wants the Content-Type header to be named 'type'. It + # will post two Content-Type headers otherwise. + header_options['type'] = header_options['Content-Type'].dup + header_options.delete('Content-Type') + cgi.out(header_options) do + ie.buildMediaFile(mime_type) + end +else + cgi.out('type' => 'text/html') do + ie.buildPage() + end +end |