tarantula 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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