~ubuntu-branches/ubuntu/raring/qtwebkit-source/raring-proposed

« back to all changes in this revision

Viewing changes to Tools/iExploder/iexploder-1.3.2/htdocs/webserver.rb

  • Committer: Package Import Robot
  • Author(s): Jonathan Riddell
  • Date: 2013-02-18 14:24:18 UTC
  • Revision ID: package-import@ubuntu.com-20130218142418-eon0jmjg3nj438uy
Tags: upstream-2.3
ImportĀ upstreamĀ versionĀ 2.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/ruby
 
2
# iExploder - Generates bad HTML files to perform QA for web browsers.
 
3
# Developed for the Mozilla Foundation.
 
4
#####################
 
5
#
 
6
# Copyright (c) 2006 Thomas Stromberg <thomas%stromberg.org>
 
7
 
8
# This software is provided 'as-is', without any express or implied warranty.
 
9
# In no event will the authors be held liable for any damages arising from the
 
10
# use of this software.
 
11
 
12
# Permission is granted to anyone to use this software for any purpose,
 
13
# including commercial applications, and to alter it and redistribute it
 
14
# freely, subject to the following restrictions:
 
15
 
16
# 1. The origin of this software must not be misrepresented; you must not
 
17
# claim that you wrote the original software. If you use this software in a
 
18
# product, an acknowledgment in the product documentation would be appreciated
 
19
# but is not required.
 
20
 
21
# 2. Altered source versions must be plainly marked as such, and must not be
 
22
# misrepresented as being the original software.
 
23
 
24
# 3. This notice may not be removed or altered from any source distribution.
 
25
 
 
26
require 'webrick'
 
27
require 'iexploder';
 
28
require 'config';
 
29
 
 
30
include WEBrick
 
31
### THE INTERACTION ##################################
 
32
$ie_preload = IExploder.new($HTML_MAX_TAGS, $HTML_MAX_ATTRS, $CSS_MAX_PROPS)
 
33
$ie_preload.readTagFiles()
 
34
$ie_preload.url='/iexploder.cgi'
 
35
 
 
36
if ARGV[0]
 
37
        port = ARGV[0].to_i
 
38
else
 
39
        port = 2000
 
40
end
 
41
 
 
42
puts "* iExploder #{$VERSION} will be available at http://localhost:#{port}"
 
43
puts "* Max Tags: #$HTML_MAX_TAGS Max Attrs: #$HTML_MAX_ATTRS Max Props: #$CSS_MAX_PROPS"
 
44
puts
 
45
 
 
46
s = HTTPServer.new( :Port => port )
 
47
class IEServlet < HTTPServlet::AbstractServlet
 
48
    def do_GET(req, res)
 
49
        ie = $ie_preload.dup
 
50
        ie.test_num = req.query['test'].to_i
 
51
        ie.subtest_num = req.query['subtest'].to_i || 0
 
52
        ie.random_mode = req.query['random']
 
53
        ie.lookup_mode = req.query['lookup']
 
54
        ie.stop_num = req.query['stop'].to_i
 
55
        ie.setRandomSeed
 
56
        
 
57
        res['Content-Type'] = 'text/html'  
 
58
        res.body = ie.buildPage()
 
59
    end
 
60
end
 
61
 
 
62
class IEForm < HTTPServlet::AbstractServlet
 
63
    def do_GET(req, res)   
 
64
        res['Content-Type'] = 'text/html'  
 
65
        res.body = File.open("index.html").readlines.join("\n")
 
66
    end
 
67
end
 
68
 
 
69
 
 
70
 
 
71
s.mount("/iexploder.cgi", IEServlet)
 
72
s.mount("/", IEForm)
 
73
trap("INT") { s.shutdown }
 
74
 
 
75
s.start