tarantula 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. data/CHANGELOG +2 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +106 -0
  4. data/Rakefile +80 -0
  5. data/init.rb +1 -0
  6. data/install.rb +1 -0
  7. data/laf/images/background.jpg +0 -0
  8. data/laf/images/relevance-os-logo.gif +0 -0
  9. data/laf/images/tab.png +0 -0
  10. data/laf/images/table-sort.gif +0 -0
  11. data/laf/images/tarantula-sprites.png +0 -0
  12. data/laf/javascripts/jquery-1.2.3.js +3408 -0
  13. data/laf/javascripts/jquery-ui-tabs.js +890 -0
  14. data/laf/javascripts/jquery.tablesorter.js +861 -0
  15. data/laf/javascripts/tarantula.js +10 -0
  16. data/laf/stylesheets/tarantula.css +638 -0
  17. data/laf/stylesheets/ui.tabs.css +113 -0
  18. data/lib/relevance/core_extensions/ellipsize.rb +34 -0
  19. data/lib/relevance/core_extensions/file.rb +9 -0
  20. data/lib/relevance/core_extensions/response.rb +9 -0
  21. data/lib/relevance/core_extensions/test_case.rb +12 -0
  22. data/lib/relevance/tarantula.rb +63 -0
  23. data/lib/relevance/tarantula/attack.rb +15 -0
  24. data/lib/relevance/tarantula/attack_form_submission.rb +75 -0
  25. data/lib/relevance/tarantula/attack_handler.rb +37 -0
  26. data/lib/relevance/tarantula/crawler.rb +240 -0
  27. data/lib/relevance/tarantula/detail.html.erb +77 -0
  28. data/lib/relevance/tarantula/form.rb +21 -0
  29. data/lib/relevance/tarantula/form_submission.rb +70 -0
  30. data/lib/relevance/tarantula/html_document_handler.rb +36 -0
  31. data/lib/relevance/tarantula/html_report_helper.rb +56 -0
  32. data/lib/relevance/tarantula/html_reporter.rb +105 -0
  33. data/lib/relevance/tarantula/index.html.erb +48 -0
  34. data/lib/relevance/tarantula/invalid_html_handler.rb +18 -0
  35. data/lib/relevance/tarantula/io_reporter.rb +34 -0
  36. data/lib/relevance/tarantula/link.rb +56 -0
  37. data/lib/relevance/tarantula/log_grabber.rb +16 -0
  38. data/lib/relevance/tarantula/rails_integration_proxy.rb +70 -0
  39. data/lib/relevance/tarantula/recording.rb +12 -0
  40. data/lib/relevance/tarantula/response.rb +13 -0
  41. data/lib/relevance/tarantula/result.rb +66 -0
  42. data/lib/relevance/tarantula/test_report.html.erb +34 -0
  43. data/lib/relevance/tarantula/tidy_handler.rb +32 -0
  44. data/lib/relevance/tarantula/transform.rb +17 -0
  45. data/manifest.txt +117 -0
  46. data/rails/init.rb +1 -0
  47. data/tarantula.gemspec +48 -0
  48. data/tasks/tarantula_tasks.rake +34 -0
  49. data/template/tarantula_test.rb +12 -0
  50. data/test/relevance/core_extensions/ellipsize_test.rb +19 -0
  51. data/test/relevance/core_extensions/file_test.rb +8 -0
  52. data/test/relevance/core_extensions/response_test.rb +29 -0
  53. data/test/relevance/core_extensions/test_case_test.rb +16 -0
  54. data/test/relevance/tarantula/attack_form_submission_test.rb +79 -0
  55. data/test/relevance/tarantula/attack_handler_test.rb +29 -0
  56. data/test/relevance/tarantula/crawler_test.rb +296 -0
  57. data/test/relevance/tarantula/form_submission_test.rb +71 -0
  58. data/test/relevance/tarantula/form_test.rb +50 -0
  59. data/test/relevance/tarantula/html_document_handler_test.rb +43 -0
  60. data/test/relevance/tarantula/html_report_helper_test.rb +47 -0
  61. data/test/relevance/tarantula/html_reporter_test.rb +82 -0
  62. data/test/relevance/tarantula/invalid_html_handler_test.rb +33 -0
  63. data/test/relevance/tarantula/io_reporter_test.rb +11 -0
  64. data/test/relevance/tarantula/link_test.rb +61 -0
  65. data/test/relevance/tarantula/log_grabber_test.rb +26 -0
  66. data/test/relevance/tarantula/rails_integration_proxy_test.rb +94 -0
  67. data/test/relevance/tarantula/result_test.rb +85 -0
  68. data/test/relevance/tarantula/tidy_handler_test.rb +58 -0
  69. data/test/relevance/tarantula/transform_test.rb +21 -0
  70. data/test/relevance/tarantula_test.rb +23 -0
  71. data/test/test_helper.rb +34 -0
  72. data/tmp/test_output/images/background.jpg +0 -0
  73. data/tmp/test_output/images/relevance-os-logo.gif +0 -0
  74. data/tmp/test_output/images/tab.png +0 -0
  75. data/tmp/test_output/images/table-sort.gif +0 -0
  76. data/tmp/test_output/images/tarantula-sprites.png +0 -0
  77. data/tmp/test_output/index.html +255 -0
  78. data/tmp/test_output/javascripts/jquery-1.2.3.js +3408 -0
  79. data/tmp/test_output/javascripts/jquery-ui-tabs.js +890 -0
  80. data/tmp/test_output/javascripts/jquery.tablesorter.js +861 -0
  81. data/tmp/test_output/javascripts/tarantula.js +10 -0
  82. data/tmp/test_output/stylesheets/tarantula.css +638 -0
  83. data/tmp/test_output/stylesheets/ui.tabs.css +113 -0
  84. data/tmp/test_output/test_user_pages/1.html +71 -0
  85. data/tmp/test_output/test_user_pages/10.html +71 -0
  86. data/tmp/test_output/test_user_pages/11.html +71 -0
  87. data/tmp/test_output/test_user_pages/12.html +71 -0
  88. data/tmp/test_output/test_user_pages/13.html +71 -0
  89. data/tmp/test_output/test_user_pages/14.html +71 -0
  90. data/tmp/test_output/test_user_pages/15.html +71 -0
  91. data/tmp/test_output/test_user_pages/16.html +71 -0
  92. data/tmp/test_output/test_user_pages/17.html +71 -0
  93. data/tmp/test_output/test_user_pages/18.html +71 -0
  94. data/tmp/test_output/test_user_pages/19.html +71 -0
  95. data/tmp/test_output/test_user_pages/2.html +71 -0
  96. data/tmp/test_output/test_user_pages/20.html +71 -0
  97. data/tmp/test_output/test_user_pages/3.html +71 -0
  98. data/tmp/test_output/test_user_pages/4.html +71 -0
  99. data/tmp/test_output/test_user_pages/5.html +71 -0
  100. data/tmp/test_output/test_user_pages/6.html +71 -0
  101. data/tmp/test_output/test_user_pages/7.html +71 -0
  102. data/tmp/test_output/test_user_pages/8.html +71 -0
  103. data/tmp/test_output/test_user_pages/9.html +71 -0
  104. data/uninstall.rb +1 -0
  105. data/vendor/xss-shield/MIT-LICENSE +20 -0
  106. data/vendor/xss-shield/README +76 -0
  107. data/vendor/xss-shield/init.rb +16 -0
  108. data/vendor/xss-shield/lib/xss_shield.rb +6 -0
  109. data/vendor/xss-shield/lib/xss_shield/erb_hacks.rb +111 -0
  110. data/vendor/xss-shield/lib/xss_shield/haml_hacks.rb +42 -0
  111. data/vendor/xss-shield/lib/xss_shield/safe_string.rb +47 -0
  112. data/vendor/xss-shield/lib/xss_shield/secure_helpers.rb +40 -0
  113. data/vendor/xss-shield/test/test_actionview_integration.rb +40 -0
  114. data/vendor/xss-shield/test/test_erb.rb +44 -0
  115. data/vendor/xss-shield/test/test_haml.rb +43 -0
  116. data/vendor/xss-shield/test/test_helpers.rb +25 -0
  117. data/vendor/xss-shield/test/test_safe_string.rb +55 -0
  118. metadata +283 -0
@@ -0,0 +1,40 @@
1
+ # Run from your Rails main directory
2
+ require 'test/test_helper'
3
+
4
+ class TestActionViewIntegration < Test::Unit::TestCase
5
+ def assert_renders(expected, input, extension)
6
+ base = ActionView::Base.new
7
+ actual = base.render_template(extension, input, "foo.#{extension}")
8
+ assert_equal expected, actual
9
+ end
10
+
11
+ def test_erb
12
+ assert_renders <<OUT, <<IN, :erb
13
+ A & B
14
+ A & B
15
+ OUT
16
+ <%= "A & B" %>
17
+ <%= "A & B".mark_as_xss_protected %>
18
+ IN
19
+ end
20
+
21
+ def test_rhtml
22
+ assert_renders <<OUT, <<IN, :rhtml
23
+ A &amp; B
24
+ A & B
25
+ OUT
26
+ <%= "A & B" %>
27
+ <%= "A & B".mark_as_xss_protected %>
28
+ IN
29
+ end
30
+
31
+ def test_haml
32
+ assert_renders <<OUT, <<IN, :haml
33
+ A &amp; B
34
+ A & B
35
+ OUT
36
+ = "A & B"
37
+ = "A & B".mark_as_xss_protected
38
+ IN
39
+ end
40
+ end
@@ -0,0 +1,44 @@
1
+ # Run from your Rails main directory
2
+ require 'test/test_helper'
3
+
4
+ class TestERB < Test::Unit::TestCase
5
+ def assert_renders_erb(expected, input, shield=true)
6
+ erb_class = shield ? XSSProtectedERB : ERB
7
+
8
+ actual = eval(erb_class.new(input).src)
9
+
10
+ assert_equal expected, actual
11
+ end
12
+
13
+ def test_erb_with_shield
14
+ assert_renders_erb <<OUT, <<IN, true
15
+ Foo &amp;amp; Bar
16
+ Foo &amp;amp; Bar
17
+ Foo &amp; Bar
18
+ Foo &amp; Bar
19
+ Foo &amp; Bar
20
+ OUT
21
+ <%= "Foo &amp; Bar" %>
22
+ <%= h("Foo &amp; Bar") %>
23
+ <%= "Foo &amp; Bar".mark_as_xss_protected %>
24
+ <%= h("Foo & Bar") %>
25
+ <%= "Foo & Bar" %>
26
+ IN
27
+ end
28
+
29
+ def test_erb_without_shield
30
+ assert_renders_erb <<OUT, <<IN, false
31
+ Foo &amp;amp; Bar
32
+ Foo &amp; Bar
33
+ Foo &amp; Bar
34
+ Foo &amp; Bar
35
+ Foo & Bar
36
+ OUT
37
+ <%= h("Foo &amp; Bar") %>
38
+ <%= "Foo &amp; Bar" %>
39
+ <%= "Foo &amp; Bar".mark_as_xss_protected %>
40
+ <%= h("Foo & Bar") %>
41
+ <%= "Foo & Bar" %>
42
+ IN
43
+ end
44
+ end
@@ -0,0 +1,43 @@
1
+ # Run from your Rails main directory
2
+ require 'test/test_helper'
3
+
4
+ class TestHaml < Test::Unit::TestCase
5
+ def setup
6
+ @base = ActionView::Base.new
7
+ end
8
+
9
+ def assert_haml_renders(expected, input)
10
+ actual = Haml::Engine.new(input).to_html(@base)
11
+ assert_equal expected, actual
12
+ end
13
+
14
+ def test_haml_engine
15
+ assert_haml_renders <<OUT, <<IN
16
+ A & B
17
+ C &amp; D
18
+ E &amp; F
19
+ G & H
20
+ I &amp; J
21
+ OUT
22
+ A & B
23
+ = "C & D"
24
+ = h("E & F")
25
+ = "G & H".mark_as_xss_protected
26
+ = "I & J".to_s_xss_protected
27
+ IN
28
+ end
29
+
30
+ def test_attribute_escaping_in_haml
31
+ @base.instance_eval {
32
+ @foo = "A < & > ' \" B"
33
+ }
34
+ assert_haml_renders <<OUT, <<IN
35
+ <div foo="A &lt; &amp; &gt; ' &quot; B" />
36
+ <div foo="A < & > ' " B" />
37
+ OUT
38
+ %div{:foo => @foo}/
39
+ %div{:foo => @foo.mark_as_xss_protected}/
40
+ IN
41
+ # Note that '/" explicitly marked as XSS-protected can break validity
42
+ end
43
+ end
@@ -0,0 +1,25 @@
1
+ # Run from your Rails main directory
2
+ require 'test/test_helper'
3
+
4
+ class TestHelpers < Test::Unit::TestCase
5
+ def setup
6
+ @base = ActionView::Base.new
7
+ end
8
+
9
+ def assert_haml_renders(expected, input)
10
+ actual = Haml::Engine.new(input).to_html(@base)
11
+ assert_equal expected, actual
12
+ end
13
+
14
+ def test_link_to
15
+ assert_haml_renders <<OUT, <<IN
16
+ <a href="/bar">Foo</a>
17
+ <a href="/bar">Foo &amp; Bar</a>
18
+ <a href="/bar">Foo & Bar</a>
19
+ OUT
20
+ = link_to "Foo", "/bar"
21
+ = link_to "Foo & Bar", "/bar"
22
+ = link_to "Foo & Bar".mark_as_xss_protected, "/bar"
23
+ IN
24
+ end
25
+ end
@@ -0,0 +1,55 @@
1
+ # Run from your Rails main directory
2
+ require 'test/test_helper'
3
+
4
+ class TestSafeString < Test::Unit::TestCase
5
+ def test_safe_string
6
+ assert_equal "foo", "foo".to_s_xss_protected
7
+ assert_equal "foo &amp; bar", "foo & bar".to_s_xss_protected
8
+ assert_equal "foo &amp; bar", "foo & bar".to_s_xss_protected
9
+ assert_equal "foo &amp;amp; bar", "foo &amp; bar".to_s_xss_protected
10
+ assert_equal "foo &amp; bar", "foo & bar".to_s_xss_protected.to_s_xss_protected
11
+ assert_equal "foo &amp; bar", h("foo & bar").to_s_xss_protected
12
+ assert_equal "foo &amp;amp; bar", h(h("foo & bar"))
13
+
14
+ assert_not_equal "foo".mark_as_xss_protected.object_id, "foo".mark_as_xss_protected.object_id
15
+ x = "foo & bar".mark_as_xss_protected
16
+ assert_equal x.mark_as_xss_protected, x
17
+ # Not sure if this makes sense
18
+ assert_not_equal x.mark_as_xss_protected.object_id, x.object_id
19
+
20
+ assert_equal x.to_s, x
21
+ assert_equal x.to_s.object_id, x.object_id
22
+ end
23
+
24
+ def test_nonstring_objects
25
+ assert_equal "15", 15.to_s_xss_protected
26
+ assert_equal SafeString, 15.to_s_xss_protected.class
27
+ end
28
+
29
+ def test_nil
30
+ assert_equal "", nil.to_s_xss_protected
31
+ assert_equal SafeString, nil.to_s_xss_protected.class
32
+ assert_equal nil, nil.mark_as_xss_protected
33
+ end
34
+
35
+ def test_join
36
+ assert_equal "", [].join_xss_protected
37
+ assert_equal "", [].join_xss_protected(",")
38
+ assert_equal "a", ["a"].join_xss_protected
39
+ assert_equal "a", ["a"].join_xss_protected(",")
40
+ assert_equal "ab", ["a", "b"].join_xss_protected
41
+ assert_equal "a,b", ["a", "b"].join_xss_protected(",")
42
+
43
+ assert_equal "a&amp;b", ["a", "b"].join_xss_protected("&")
44
+ assert_equal "a&amp;amp;b", ["a", "b"].join_xss_protected("&amp;")
45
+ assert_equal "a&amp;b", ["a", "b"].join_xss_protected("&amp;".mark_as_xss_protected)
46
+
47
+ assert_equal "&lt;&amp;&gt;", ["<", ">"].join_xss_protected("&")
48
+ assert_equal "&lt;&amp;amp;&gt;", ["<", ">"].join_xss_protected("&amp;")
49
+ assert_equal "&lt;&amp;&gt;", ["<", ">"].join_xss_protected("&amp;".mark_as_xss_protected)
50
+
51
+ assert_equal "< &amp; &gt;", ["<".mark_as_xss_protected, ">"].join_xss_protected(" & ")
52
+ assert_equal "&lt; &amp; >", ["<", ">".mark_as_xss_protected].join_xss_protected(" & ")
53
+ assert_equal "&lt; & &gt;", ["<", ">"].join_xss_protected(" & ".mark_as_xss_protected)
54
+ end
55
+ end
metadata ADDED
@@ -0,0 +1,283 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tarantula
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.5
5
+ platform: ruby
6
+ authors:
7
+ - Relevance
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-09-26 00:00:00 -04:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: htmlentities
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: hpricot
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: "0"
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: facets
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 2.4.3
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: ruby-debug
47
+ type: :development
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: "0"
54
+ version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: test-spec
57
+ type: :development
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: "0"
64
+ version:
65
+ - !ruby/object:Gem::Dependency
66
+ name: mocha
67
+ type: :development
68
+ version_requirement:
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: "0"
74
+ version:
75
+ description: A big hairy fuzzy spider that crawls your site, wreaking havoc
76
+ email: opensource@thinkrelevance.com
77
+ executables: []
78
+
79
+ extensions: []
80
+
81
+ extra_rdoc_files:
82
+ - CHANGELOG
83
+ - lib/relevance/core_extensions/ellipsize.rb
84
+ - lib/relevance/core_extensions/file.rb
85
+ - lib/relevance/core_extensions/response.rb
86
+ - lib/relevance/core_extensions/test_case.rb
87
+ - lib/relevance/tarantula/attack.rb
88
+ - lib/relevance/tarantula/attack_form_submission.rb
89
+ - lib/relevance/tarantula/attack_handler.rb
90
+ - lib/relevance/tarantula/crawler.rb
91
+ - lib/relevance/tarantula/detail.html.erb
92
+ - lib/relevance/tarantula/form.rb
93
+ - lib/relevance/tarantula/form_submission.rb
94
+ - lib/relevance/tarantula/html_document_handler.rb
95
+ - lib/relevance/tarantula/html_report_helper.rb
96
+ - lib/relevance/tarantula/html_reporter.rb
97
+ - lib/relevance/tarantula/index.html.erb
98
+ - lib/relevance/tarantula/invalid_html_handler.rb
99
+ - lib/relevance/tarantula/io_reporter.rb
100
+ - lib/relevance/tarantula/link.rb
101
+ - lib/relevance/tarantula/log_grabber.rb
102
+ - lib/relevance/tarantula/rails_integration_proxy.rb
103
+ - lib/relevance/tarantula/recording.rb
104
+ - lib/relevance/tarantula/response.rb
105
+ - lib/relevance/tarantula/result.rb
106
+ - lib/relevance/tarantula/test_report.html.erb
107
+ - lib/relevance/tarantula/tidy_handler.rb
108
+ - lib/relevance/tarantula/transform.rb
109
+ - lib/relevance/tarantula.rb
110
+ - MIT-LICENSE
111
+ - README.rdoc
112
+ - vendor/xss-shield/MIT-LICENSE
113
+ files:
114
+ - CHANGELOG
115
+ - init.rb
116
+ - install.rb
117
+ - laf/images/background.jpg
118
+ - laf/images/relevance-os-logo.gif
119
+ - laf/images/tab.png
120
+ - laf/images/table-sort.gif
121
+ - laf/images/tarantula-sprites.png
122
+ - laf/javascripts/jquery-1.2.3.js
123
+ - laf/javascripts/jquery-ui-tabs.js
124
+ - laf/javascripts/jquery.tablesorter.js
125
+ - laf/javascripts/tarantula.js
126
+ - laf/stylesheets/tarantula.css
127
+ - laf/stylesheets/ui.tabs.css
128
+ - lib/relevance/core_extensions/ellipsize.rb
129
+ - lib/relevance/core_extensions/file.rb
130
+ - lib/relevance/core_extensions/response.rb
131
+ - lib/relevance/core_extensions/test_case.rb
132
+ - lib/relevance/tarantula/attack.rb
133
+ - lib/relevance/tarantula/attack_form_submission.rb
134
+ - lib/relevance/tarantula/attack_handler.rb
135
+ - lib/relevance/tarantula/crawler.rb
136
+ - lib/relevance/tarantula/detail.html.erb
137
+ - lib/relevance/tarantula/form.rb
138
+ - lib/relevance/tarantula/form_submission.rb
139
+ - lib/relevance/tarantula/html_document_handler.rb
140
+ - lib/relevance/tarantula/html_report_helper.rb
141
+ - lib/relevance/tarantula/html_reporter.rb
142
+ - lib/relevance/tarantula/index.html.erb
143
+ - lib/relevance/tarantula/invalid_html_handler.rb
144
+ - lib/relevance/tarantula/io_reporter.rb
145
+ - lib/relevance/tarantula/link.rb
146
+ - lib/relevance/tarantula/log_grabber.rb
147
+ - lib/relevance/tarantula/rails_integration_proxy.rb
148
+ - lib/relevance/tarantula/recording.rb
149
+ - lib/relevance/tarantula/response.rb
150
+ - lib/relevance/tarantula/result.rb
151
+ - lib/relevance/tarantula/test_report.html.erb
152
+ - lib/relevance/tarantula/tidy_handler.rb
153
+ - lib/relevance/tarantula/transform.rb
154
+ - lib/relevance/tarantula.rb
155
+ - manifest.txt
156
+ - MIT-LICENSE
157
+ - rails/init.rb
158
+ - Rakefile
159
+ - README.rdoc
160
+ - tarantula.gemspec
161
+ - tasks/tarantula_tasks.rake
162
+ - template/tarantula_test.rb
163
+ - test/relevance/core_extensions/ellipsize_test.rb
164
+ - test/relevance/core_extensions/file_test.rb
165
+ - test/relevance/core_extensions/response_test.rb
166
+ - test/relevance/core_extensions/test_case_test.rb
167
+ - test/relevance/tarantula/attack_form_submission_test.rb
168
+ - test/relevance/tarantula/attack_handler_test.rb
169
+ - test/relevance/tarantula/crawler_test.rb
170
+ - test/relevance/tarantula/form_submission_test.rb
171
+ - test/relevance/tarantula/form_test.rb
172
+ - test/relevance/tarantula/html_document_handler_test.rb
173
+ - test/relevance/tarantula/html_report_helper_test.rb
174
+ - test/relevance/tarantula/html_reporter_test.rb
175
+ - test/relevance/tarantula/invalid_html_handler_test.rb
176
+ - test/relevance/tarantula/io_reporter_test.rb
177
+ - test/relevance/tarantula/link_test.rb
178
+ - test/relevance/tarantula/log_grabber_test.rb
179
+ - test/relevance/tarantula/rails_integration_proxy_test.rb
180
+ - test/relevance/tarantula/result_test.rb
181
+ - test/relevance/tarantula/tidy_handler_test.rb
182
+ - test/relevance/tarantula/transform_test.rb
183
+ - test/relevance/tarantula_test.rb
184
+ - test/test_helper.rb
185
+ - tmp/test_output/images/background.jpg
186
+ - tmp/test_output/images/relevance-os-logo.gif
187
+ - tmp/test_output/images/tab.png
188
+ - tmp/test_output/images/table-sort.gif
189
+ - tmp/test_output/images/tarantula-sprites.png
190
+ - tmp/test_output/index.html
191
+ - tmp/test_output/javascripts/jquery-1.2.3.js
192
+ - tmp/test_output/javascripts/jquery-ui-tabs.js
193
+ - tmp/test_output/javascripts/jquery.tablesorter.js
194
+ - tmp/test_output/javascripts/tarantula.js
195
+ - tmp/test_output/stylesheets/tarantula.css
196
+ - tmp/test_output/stylesheets/ui.tabs.css
197
+ - tmp/test_output/test_user_pages/1.html
198
+ - tmp/test_output/test_user_pages/10.html
199
+ - tmp/test_output/test_user_pages/11.html
200
+ - tmp/test_output/test_user_pages/12.html
201
+ - tmp/test_output/test_user_pages/13.html
202
+ - tmp/test_output/test_user_pages/14.html
203
+ - tmp/test_output/test_user_pages/15.html
204
+ - tmp/test_output/test_user_pages/16.html
205
+ - tmp/test_output/test_user_pages/17.html
206
+ - tmp/test_output/test_user_pages/18.html
207
+ - tmp/test_output/test_user_pages/19.html
208
+ - tmp/test_output/test_user_pages/2.html
209
+ - tmp/test_output/test_user_pages/20.html
210
+ - tmp/test_output/test_user_pages/3.html
211
+ - tmp/test_output/test_user_pages/4.html
212
+ - tmp/test_output/test_user_pages/5.html
213
+ - tmp/test_output/test_user_pages/6.html
214
+ - tmp/test_output/test_user_pages/7.html
215
+ - tmp/test_output/test_user_pages/8.html
216
+ - tmp/test_output/test_user_pages/9.html
217
+ - uninstall.rb
218
+ - vendor/xss-shield/init.rb
219
+ - vendor/xss-shield/lib/xss_shield/erb_hacks.rb
220
+ - vendor/xss-shield/lib/xss_shield/haml_hacks.rb
221
+ - vendor/xss-shield/lib/xss_shield/safe_string.rb
222
+ - vendor/xss-shield/lib/xss_shield/secure_helpers.rb
223
+ - vendor/xss-shield/lib/xss_shield.rb
224
+ - vendor/xss-shield/MIT-LICENSE
225
+ - vendor/xss-shield/README
226
+ - vendor/xss-shield/test/test_actionview_integration.rb
227
+ - vendor/xss-shield/test/test_erb.rb
228
+ - vendor/xss-shield/test/test_haml.rb
229
+ - vendor/xss-shield/test/test_helpers.rb
230
+ - vendor/xss-shield/test/test_safe_string.rb
231
+ has_rdoc: true
232
+ homepage: http://opensource.thinkrelevance.com/wiki/tarantula
233
+ post_install_message:
234
+ rdoc_options:
235
+ - --line-numbers
236
+ - --inline-source
237
+ - --title
238
+ - Tarantula
239
+ - --main
240
+ - README.rdoc
241
+ require_paths:
242
+ - lib
243
+ required_ruby_version: !ruby/object:Gem::Requirement
244
+ requirements:
245
+ - - ">="
246
+ - !ruby/object:Gem::Version
247
+ version: "0"
248
+ version:
249
+ required_rubygems_version: !ruby/object:Gem::Requirement
250
+ requirements:
251
+ - - "="
252
+ - !ruby/object:Gem::Version
253
+ version: "1.2"
254
+ version:
255
+ requirements: []
256
+
257
+ rubyforge_project: thinkrelevance
258
+ rubygems_version: 1.2.0
259
+ signing_key:
260
+ specification_version: 2
261
+ summary: A big hairy fuzzy spider that crawls your site, wreaking havoc
262
+ test_files:
263
+ - test/relevance/core_extensions/ellipsize_test.rb
264
+ - test/relevance/core_extensions/file_test.rb
265
+ - test/relevance/core_extensions/response_test.rb
266
+ - test/relevance/core_extensions/test_case_test.rb
267
+ - test/relevance/tarantula/attack_form_submission_test.rb
268
+ - test/relevance/tarantula/attack_handler_test.rb
269
+ - test/relevance/tarantula/crawler_test.rb
270
+ - test/relevance/tarantula/form_submission_test.rb
271
+ - test/relevance/tarantula/form_test.rb
272
+ - test/relevance/tarantula/html_document_handler_test.rb
273
+ - test/relevance/tarantula/html_report_helper_test.rb
274
+ - test/relevance/tarantula/html_reporter_test.rb
275
+ - test/relevance/tarantula/invalid_html_handler_test.rb
276
+ - test/relevance/tarantula/io_reporter_test.rb
277
+ - test/relevance/tarantula/link_test.rb
278
+ - test/relevance/tarantula/log_grabber_test.rb
279
+ - test/relevance/tarantula/rails_integration_proxy_test.rb
280
+ - test/relevance/tarantula/result_test.rb
281
+ - test/relevance/tarantula/tidy_handler_test.rb
282
+ - test/relevance/tarantula/transform_test.rb
283
+ - test/relevance/tarantula_test.rb