dchelimsky-rspec 1.1.11.4 → 1.1.11.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 (53) hide show
  1. data/History.txt +4 -2
  2. data/Manifest.txt +7 -3
  3. data/Rakefile +1 -1
  4. data/examples/ruby1.9.compatibility/access_to_constants_spec.rb +86 -0
  5. data/features/before_and_after_blocks/before_and_after_blocks.feature +168 -0
  6. data/features/step_definitions/running_rspec.rb +7 -1
  7. data/lib/spec.rb +1 -0
  8. data/lib/spec/dsl/main.rb +2 -1
  9. data/lib/spec/example/before_and_after_hooks.rb +20 -2
  10. data/lib/spec/example/example_group_factory.rb +11 -0
  11. data/lib/spec/example/example_group_methods.rb +32 -35
  12. data/lib/spec/example/shared_example_group.rb +0 -4
  13. data/lib/spec/matchers/respond_to.rb +1 -2
  14. data/lib/spec/matchers/wrap_expectation.rb +1 -1
  15. data/lib/spec/mocks/proxy.rb +1 -1
  16. data/lib/spec/ruby.rb +9 -0
  17. data/lib/spec/runner/configuration.rb +6 -7
  18. data/lib/spec/runner/formatter/nested_text_formatter.rb +2 -2
  19. data/lib/spec/runner/heckle_runner.rb +58 -56
  20. data/lib/spec/runner/options.rb +9 -4
  21. data/lib/spec/version.rb +1 -1
  22. data/rspec.gemspec +5 -5
  23. data/spec/spec/dsl/main_spec.rb +21 -1
  24. data/spec/spec/example/example_group_methods_spec.rb +51 -0
  25. data/spec/spec/example/example_methods_spec.rb +1 -33
  26. data/spec/spec/matchers/have_spec.rb +2 -2
  27. data/spec/spec/mocks/nil_expectation_warning_spec.rb +1 -1
  28. data/spec/spec/mocks/stub_spec.rb +6 -0
  29. data/spec/spec/runner/configuration_spec.rb +11 -0
  30. data/spec/spec/runner/drb_command_line_spec.rb +4 -4
  31. data/spec/spec/runner/formatter/base_text_formatter_spec.rb +1 -0
  32. data/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +5 -5
  33. data/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +3 -3
  34. data/spec/spec/runner/formatter/html_formatted-1.8.6.html +24 -24
  35. data/spec/spec/runner/formatter/html_formatted-1.8.7.html +379 -0
  36. data/spec/spec/runner/formatter/html_formatted-1.9.1.html +379 -0
  37. data/spec/spec/runner/formatter/html_formatter_spec.rb +9 -13
  38. data/spec/spec/runner/formatter/nested_text_formatter_spec.rb +4 -4
  39. data/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +3 -3
  40. data/spec/spec/runner/formatter/spec_mate_formatter_spec.rb +8 -12
  41. data/spec/spec/runner/formatter/specdoc_formatter_spec.rb +4 -4
  42. data/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +18 -18
  43. data/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +373 -0
  44. data/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +373 -0
  45. data/spec/spec/runner/heckler_spec.rb +16 -9
  46. data/spec/spec/runner/option_parser_spec.rb +0 -2
  47. data/spec/spec/runner/options_spec.rb +7 -2
  48. data/spec/spec/runner/reporter_spec.rb +4 -4
  49. data/spec/spec_helper.rb +4 -0
  50. metadata +10 -6
  51. data/features/configuration/before_blocks.feature +0 -21
  52. data/resources/spec/before_blocks_example.rb +0 -32
  53. data/spec/spec/example/example_runner_spec.rb +0 -194
@@ -0,0 +1,379 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
6
+ <head>
7
+ <title>RSpec results</title>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
9
+ <meta http-equiv="Expires" content="-1" />
10
+ <meta http-equiv="Pragma" content="no-cache" />
11
+ <style type="text/css">
12
+ body {
13
+ margin: 0;
14
+ padding: 0;
15
+ background: #fff;
16
+ font-size: 80%;
17
+ }
18
+ </style>
19
+ <script type="text/javascript">
20
+ // <![CDATA[
21
+ function moveProgressBar(percentDone) {
22
+ document.getElementById("rspec-header").style.width = percentDone +"%";
23
+ }
24
+ function makeRed(element_id) {
25
+ document.getElementById(element_id).style.background = '#C40D0D';
26
+ document.getElementById(element_id).style.color = '#FFFFFF';
27
+ }
28
+
29
+ function makeYellow(element_id) {
30
+ if (element_id == "rspec-header" && document.getElementById(element_id).style.background != '#C40D0D')
31
+ {
32
+ document.getElementById(element_id).style.background = '#FAF834';
33
+ document.getElementById(element_id).style.color = '#000000';
34
+ }
35
+ else
36
+ {
37
+ document.getElementById(element_id).style.background = '#FAF834';
38
+ document.getElementById(element_id).style.color = '#000000';
39
+ }
40
+ }
41
+
42
+ // ]]>
43
+ </script>
44
+ <style type="text/css">
45
+ #rspec-header {
46
+ background: #65C400; color: #fff; height: 42px;
47
+ }
48
+
49
+ .rspec-report h1 {
50
+ margin: 0px 10px 0px 10px;
51
+ padding: 10px;
52
+ font-family: "Lucida Grande", Helvetica, sans-serif;
53
+ font-size: 1.8em;
54
+ float: left;
55
+ }
56
+
57
+ #summary {
58
+ margin: 0; padding: 5px 10px;
59
+ font-family: "Lucida Grande", Helvetica, sans-serif;
60
+ text-align: right;
61
+ top: 0px;
62
+ right: 0px;
63
+ float:right;
64
+ }
65
+
66
+ #summary p {
67
+ margin: 0 0 0 2px;
68
+ }
69
+
70
+ #summary #totals {
71
+ font-size: 1.2em;
72
+ }
73
+
74
+ .example_group {
75
+ margin: 0 10px 5px;
76
+ background: #fff;
77
+ }
78
+
79
+ dl {
80
+ margin: 0; padding: 0 0 5px;
81
+ font: normal 11px "Lucida Grande", Helvetica, sans-serif;
82
+ }
83
+
84
+ dt {
85
+ padding: 3px;
86
+ background: #65C400;
87
+ color: #fff;
88
+ font-weight: bold;
89
+ }
90
+
91
+ dd {
92
+ margin: 5px 0 5px 5px;
93
+ padding: 3px 3px 3px 18px;
94
+ }
95
+
96
+ dd.spec.passed {
97
+ border-left: 5px solid #65C400;
98
+ border-bottom: 1px solid #65C400;
99
+ background: #DBFFB4; color: #3D7700;
100
+ }
101
+
102
+ dd.spec.failed {
103
+ border-left: 5px solid #C20000;
104
+ border-bottom: 1px solid #C20000;
105
+ color: #C20000; background: #FFFBD3;
106
+ }
107
+
108
+ dd.spec.not_implemented {
109
+ border-left: 5px solid #FAF834;
110
+ border-bottom: 1px solid #FAF834;
111
+ background: #FCFB98; color: #131313;
112
+ }
113
+
114
+ dd.spec.pending_fixed {
115
+ border-left: 5px solid #0000C2;
116
+ border-bottom: 1px solid #0000C2;
117
+ color: #0000C2; background: #D3FBFF;
118
+ }
119
+
120
+ .backtrace {
121
+ color: #000;
122
+ font-size: 12px;
123
+ }
124
+
125
+ a {
126
+ color: #BE5C00;
127
+ }
128
+
129
+ /* Ruby code, style similar to vibrant ink */
130
+ .ruby {
131
+ font-size: 12px;
132
+ font-family: monospace;
133
+ color: white;
134
+ background-color: black;
135
+ padding: 0.1em 0 0.2em 0;
136
+ }
137
+
138
+ .ruby .keyword { color: #FF6600; }
139
+ .ruby .constant { color: #339999; }
140
+ .ruby .attribute { color: white; }
141
+ .ruby .global { color: white; }
142
+ .ruby .module { color: white; }
143
+ .ruby .class { color: white; }
144
+ .ruby .string { color: #66FF00; }
145
+ .ruby .ident { color: white; }
146
+ .ruby .method { color: #FFCC00; }
147
+ .ruby .number { color: white; }
148
+ .ruby .char { color: white; }
149
+ .ruby .comment { color: #9933CC; }
150
+ .ruby .symbol { color: white; }
151
+ .ruby .regex { color: #44B4CC; }
152
+ .ruby .punct { color: white; }
153
+ .ruby .escape { color: white; }
154
+ .ruby .interp { color: white; }
155
+ .ruby .expr { color: white; }
156
+
157
+ .ruby .offending { background-color: gray; }
158
+ .ruby .linenum {
159
+ width: 75px;
160
+ padding: 0.1em 1em 0.2em 0;
161
+ color: #000000;
162
+ background-color: #FFFBD3;
163
+ }
164
+
165
+ </style>
166
+ </head>
167
+ <body>
168
+ <div class="rspec-report">
169
+
170
+ <div id="rspec-header">
171
+ <div id="label">
172
+ <h1>RSpec Results</h1>
173
+ </div>
174
+
175
+ <div id="summary">
176
+ <p id="totals">&nbsp;</p>
177
+ <p id="duration">&nbsp;</p>
178
+ </div>
179
+ </div>
180
+
181
+ <div class="results">
182
+ <div class="example_group">
183
+ <dl>
184
+ <dt id="example_group_1">Mocker</dt>
185
+ <script type="text/javascript">moveProgressBar('5.8');</script>
186
+ <dd class="spec passed"><span class="passed_spec_name">should be able to call mock()</span></dd>
187
+ <script type="text/javascript">makeRed('rspec-header');</script>
188
+ <script type="text/javascript">makeRed('example_group_1');</script>
189
+ <script type="text/javascript">moveProgressBar('11.7');</script>
190
+ <dd class="spec failed">
191
+ <span class="failed_spec_name">should fail when expected message not received</span>
192
+ <div class="failure" id="failure_1">
193
+ <div class="message"><pre>Mock 'poke me' expected :poke with (any args) once, but received it 0 times</pre></div>
194
+ <div class="backtrace"><pre>/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/examples/failing/mocking_example.rb:13:in `block (2 levels) in <top (required)>'
195
+ /Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/story/../../../../spec_helper.rb:44:in `run_with'
196
+ /Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb:26:in `block (4 levels) in <module:Formatter>'
197
+ /Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb:22:in `chdir'
198
+ /Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb:22:in `block (3 levels) in <module:Formatter>'</pre></div>
199
+ <pre class="ruby"><code><span class="linenum">11</span> <span class="ident">it</span> <span class="punct">&quot;</span><span class="string">should fail when expected message not received</span><span class="punct">&quot;</span> <span class="keyword">do</span>
200
+ <span class="linenum">12</span> <span class="ident">mock</span> <span class="punct">=</span> <span class="ident">mock</span><span class="punct">(&quot;</span><span class="string">poke me</span><span class="punct">&quot;)</span>
201
+ <span class="offending"><span class="linenum">13</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_receive</span><span class="punct">(</span><span class="symbol">:poke</span><span class="punct">)</span></span>
202
+ <span class="linenum">14</span> <span class="keyword">end</span>
203
+ <span class="linenum">15</span> </code></pre>
204
+ </div>
205
+ </dd>
206
+ <script type="text/javascript">moveProgressBar('17.6');</script>
207
+ <dd class="spec failed">
208
+ <span class="failed_spec_name">should fail when messages are received out of order</span>
209
+ <div class="failure" id="failure_2">
210
+ <div class="message"><pre>Mock 'one two three' received :three out of order</pre></div>
211
+ <div class="backtrace"><pre>/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/examples/failing/mocking_example.rb:22:in `block (2 levels) in <top (required)>'
212
+ /Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/story/../../../../spec_helper.rb:44:in `run_with'
213
+ /Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb:26:in `block (4 levels) in <module:Formatter>'
214
+ /Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb:22:in `chdir'
215
+ /Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb:22:in `block (3 levels) in <module:Formatter>'</pre></div>
216
+ <pre class="ruby"><code><span class="linenum">20</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_receive</span><span class="punct">(</span><span class="symbol">:three</span><span class="punct">).</span><span class="ident">ordered</span>
217
+ <span class="linenum">21</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">one</span>
218
+ <span class="offending"><span class="linenum">22</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">three</span></span>
219
+ <span class="linenum">23</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">two</span>
220
+ <span class="linenum">24</span> <span class="keyword">end</span></code></pre>
221
+ </div>
222
+ </dd>
223
+ <script type="text/javascript">moveProgressBar('23.5');</script>
224
+ <dd class="spec failed">
225
+ <span class="failed_spec_name">should get yelled at when sending unexpected messages</span>
226
+ <div class="failure" id="failure_3">
227
+ <div class="message"><pre>Mock 'don't talk to me' expected :any_message_at_all with (no args) 0 times, but received it once</pre></div>
228
+ <div class="backtrace"><pre>/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/examples/failing/mocking_example.rb:29:in `block (2 levels) in <top (required)>'
229
+ /Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/story/../../../../spec_helper.rb:44:in `run_with'
230
+ /Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb:26:in `block (4 levels) in <module:Formatter>'
231
+ /Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb:22:in `chdir'
232
+ /Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb:22:in `block (3 levels) in <module:Formatter>'</pre></div>
233
+ <pre class="ruby"><code><span class="linenum">27</span> <span class="ident">mock</span> <span class="punct">=</span> <span class="ident">mock</span><span class="punct">(&quot;</span><span class="string">don't talk to me</span><span class="punct">&quot;)</span>
234
+ <span class="linenum">28</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_not_receive</span><span class="punct">(</span><span class="symbol">:any_message_at_all</span><span class="punct">)</span>
235
+ <span class="offending"><span class="linenum">29</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">any_message_at_all</span></span>
236
+ <span class="linenum">30</span> <span class="keyword">end</span></code></pre>
237
+ </div>
238
+ </dd>
239
+ <script type="text/javascript">moveProgressBar('29.4');</script>
240
+ <dd class="spec pending_fixed">
241
+ <span class="failed_spec_name">has a bug we need to fix</span>
242
+ <div class="failure" id="failure_4">
243
+ <div class="message"><pre>Expected pending 'here is the bug' to fail. No Error was raised.</pre></div>
244
+ <div class="backtrace"><pre>/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/examples/failing/mocking_example.rb:33:in `block (2 levels) in <top (required)>'
245
+ /Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/story/../../../../spec_helper.rb:44:in `run_with'
246
+ /Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb:26:in `block (4 levels) in <module:Formatter>'
247
+ /Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb:22:in `chdir'
248
+ /Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb:22:in `block (3 levels) in <module:Formatter>'</pre></div>
249
+ <pre class="ruby"><code><span class="linenum">31</span>
250
+ <span class="linenum">32</span> <span class="ident">it</span> <span class="punct">&quot;</span><span class="string">has a bug we need to fix</span><span class="punct">&quot;</span> <span class="keyword">do</span>
251
+ <span class="offending"><span class="linenum">33</span> <span class="ident">pending</span> <span class="punct">&quot;</span><span class="string">here is the bug</span><span class="punct">&quot;</span> <span class="keyword">do</span></span>
252
+ <span class="linenum">34</span> <span class="comment"># Actually, no. It's fixed. This will fail because it passes :-)</span>
253
+ <span class="linenum">35</span> <span class="ident">mock</span> <span class="punct">=</span> <span class="ident">mock</span><span class="punct">(&quot;</span><span class="string">Bug</span><span class="punct">&quot;)</span></code></pre>
254
+ </div>
255
+ </dd>
256
+ </dl>
257
+ </div>
258
+ <div class="example_group">
259
+ <dl>
260
+ <dt id="example_group_2">Running specs with --diff</dt>
261
+ <script type="text/javascript">makeRed('example_group_2');</script>
262
+ <script type="text/javascript">moveProgressBar('35.2');</script>
263
+ <dd class="spec failed">
264
+ <span class="failed_spec_name">should print diff of different strings</span>
265
+ <div class="failure" id="failure_5">
266
+ <div class="message"><pre>expected: &quot;RSpec is a\nbehaviour driven development\nframework for Ruby\n&quot;,
267
+ got: &quot;RSpec is a\nbehavior driven development\nframework for Ruby\n&quot; (using ==)
268
+ Diff:
269
+ @@ -1,4 +1,4 @@
270
+ RSpec is a
271
+ -behaviour driven development
272
+ +behavior driven development
273
+ framework for Ruby
274
+ </pre></div>
275
+ <div class="backtrace"><pre>/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/examples/failing/diffing_spec.rb:13:in `block (2 levels) in <top (required)>'
276
+ /Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/story/../../../../spec_helper.rb:44:in `run_with'
277
+ /Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb:26:in `block (4 levels) in <module:Formatter>'
278
+ /Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb:22:in `chdir'
279
+ /Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb:22:in `block (3 levels) in <module:Formatter>'</pre></div>
280
+ <pre class="ruby"><code><span class="linenum">11</span><span class="ident">framework</span> <span class="keyword">for</span> <span class="constant">Ruby</span>
281
+ <span class="linenum">12</span><span class="constant">EOF</span>
282
+ <span class="offending"><span class="linenum">13</span> <span class="ident">usa</span><span class="punct">.</span><span class="ident">should</span> <span class="punct">==</span> <span class="ident">uk</span></span>
283
+ <span class="linenum">14</span> <span class="keyword">end</span></code></pre>
284
+ </div>
285
+ </dd>
286
+ <script type="text/javascript">moveProgressBar('41.1');</script>
287
+ <dd class="spec failed">
288
+ <span class="failed_spec_name">should print diff of different objects' pretty representation</span>
289
+ <div class="failure" id="failure_6">
290
+ <div class="message"><pre>expected &lt;Animal
291
+ name=bob,
292
+ species=tortoise
293
+ &gt;
294
+ , got &lt;Animal
295
+ name=bob,
296
+ species=giraffe
297
+ &gt;
298
+ (using .eql?)
299
+ Diff:
300
+ @@ -1,5 +1,5 @@
301
+ &lt;Animal
302
+ name=bob,
303
+ -species=tortoise
304
+ +species=giraffe
305
+ &gt;
306
+ </pre></div>
307
+ <div class="backtrace"><pre>/Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/examples/failing/diffing_spec.rb:34:in `block (2 levels) in <top (required)>'
308
+ /Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/story/../../../../spec_helper.rb:44:in `run_with'
309
+ /Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb:26:in `block (4 levels) in <module:Formatter>'
310
+ /Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb:22:in `chdir'
311
+ /Users/david/projects/ruby/rspec-dev/example_rails_app/vendor/plugins/rspec/spec/spec/runner/formatter/html_formatter_spec.rb:22:in `block (3 levels) in <module:Formatter>'</pre></div>
312
+ <pre class="ruby"><code><span class="linenum">32</span> <span class="ident">expected</span> <span class="punct">=</span> <span class="constant">Animal</span><span class="punct">.</span><span class="ident">new</span> <span class="punct">&quot;</span><span class="string">bob</span><span class="punct">&quot;,</span> <span class="punct">&quot;</span><span class="string">giraffe</span><span class="punct">&quot;</span>
313
+ <span class="linenum">33</span> <span class="ident">actual</span> <span class="punct">=</span> <span class="constant">Animal</span><span class="punct">.</span><span class="ident">new</span> <span class="punct">&quot;</span><span class="string">bob</span><span class="punct">&quot;,</span> <span class="punct">&quot;</span><span class="string">tortoise</span><span class="punct">&quot;</span>
314
+ <span class="offending"><span class="linenum">34</span> <span class="ident">expected</span><span class="punct">.</span><span class="ident">should</span> <span class="ident">eql</span><span class="punct">(</span><span class="ident">actual</span><span class="punct">)</span></span>
315
+ <span class="linenum">35</span> <span class="keyword">end</span>
316
+ <span class="linenum">36</span><span class="keyword">end</span></code></pre>
317
+ </div>
318
+ </dd>
319
+ </dl>
320
+ </div>
321
+ <div class="example_group">
322
+ <dl>
323
+ <dt id="example_group_3">A consumer of a stub</dt>
324
+ <script type="text/javascript">moveProgressBar('47.0');</script>
325
+ <dd class="spec passed"><span class="passed_spec_name">should be able to stub methods on any Object</span></dd>
326
+ </dl>
327
+ </div>
328
+ <div class="example_group">
329
+ <dl>
330
+ <dt id="example_group_4">A stubbed method on a class</dt>
331
+ <script type="text/javascript">moveProgressBar('52.9');</script>
332
+ <dd class="spec passed"><span class="passed_spec_name">should return the stubbed value</span></dd>
333
+ <script type="text/javascript">moveProgressBar('58.8');</script>
334
+ <dd class="spec passed"><span class="passed_spec_name">should revert to the original method after each spec</span></dd>
335
+ <script type="text/javascript">moveProgressBar('64.7');</script>
336
+ <dd class="spec passed"><span class="passed_spec_name">can stub! and mock the same message</span></dd>
337
+ </dl>
338
+ </div>
339
+ <div class="example_group">
340
+ <dl>
341
+ <dt id="example_group_5">A mock</dt>
342
+ <script type="text/javascript">moveProgressBar('70.5');</script>
343
+ <dd class="spec passed"><span class="passed_spec_name">can stub!</span></dd>
344
+ <script type="text/javascript">moveProgressBar('76.4');</script>
345
+ <dd class="spec passed"><span class="passed_spec_name">can stub! and mock</span></dd>
346
+ <script type="text/javascript">moveProgressBar('82.3');</script>
347
+ <dd class="spec passed"><span class="passed_spec_name">can stub! and mock the same message</span></dd>
348
+ </dl>
349
+ </div>
350
+ <div class="example_group">
351
+ <dl>
352
+ <dt id="example_group_6">pending example (using pending method)</dt>
353
+ <script type="text/javascript">makeYellow('example_group_6');</script>
354
+ <script type="text/javascript">moveProgressBar('88.2');</script>
355
+ <dd class="spec not_implemented"><span class="not_implemented_spec_name">should be reported as &quot;PENDING: for some reason&quot; (PENDING: for some reason)</span></dd>
356
+ </dl>
357
+ </div>
358
+ <div class="example_group">
359
+ <dl>
360
+ <dt id="example_group_7">pending example (with no block)</dt>
361
+ <script type="text/javascript">makeYellow('example_group_7');</script>
362
+ <script type="text/javascript">moveProgressBar('94.1');</script>
363
+ <dd class="spec not_implemented"><span class="not_implemented_spec_name">should be reported as &quot;PENDING: Not Yet Implemented&quot; (PENDING: Not Yet Implemented)</span></dd>
364
+ </dl>
365
+ </div>
366
+ <div class="example_group">
367
+ <dl>
368
+ <dt id="example_group_8">pending example (with block for pending)</dt>
369
+ <script type="text/javascript">makeYellow('example_group_8');</script>
370
+ <script type="text/javascript">moveProgressBar('100.0');</script>
371
+ <dd class="spec not_implemented"><span class="not_implemented_spec_name">should have a failing block, passed to pending, reported as &quot;PENDING: for some reason&quot; (PENDING: for some reason)</span></dd>
372
+ </dl>
373
+ </div>
374
+ <script type="text/javascript">document.getElementById('duration').innerHTML = "Finished in <strong>x seconds</strong>";</script>
375
+ <script type="text/javascript">document.getElementById('totals').innerHTML = "17 examples, 6 failures, 3 pending";</script>
376
+ </div>
377
+ </div>
378
+ </body>
379
+ </html>
@@ -1,8 +1,8 @@
1
1
  require File.dirname(__FILE__) + '/../../../spec_helper'
2
2
  begin
3
- require 'hpricot' # Needed to compare generated with wanted HTML
3
+ require 'nokogiri' # Needed to compare generated with wanted HTML
4
4
  rescue LoadError
5
- warn "hpricot not loaded -- skipping HtmlFormatter specs"
5
+ warn "nokogiri not loaded -- skipping HtmlFormatter specs"
6
6
  return
7
7
  end
8
8
  require 'spec/runner/formatter/html_formatter'
@@ -12,14 +12,10 @@ module Spec
12
12
  module Formatter
13
13
  describe HtmlFormatter do
14
14
  ['--diff', '--dry-run'].each do |opt|
15
- def jruby?
16
- PLATFORM == 'java'
17
- end
18
-
19
15
  it "should produce HTML identical to the one we designed manually with #{opt}" do
20
16
  root = File.expand_path(File.dirname(__FILE__) + '/../../../..')
21
17
  suffix = jruby? ? '-jruby' : ''
22
- expected_file = File.dirname(__FILE__) + "/html_formatted-#{::VERSION}#{suffix}.html"
18
+ expected_file = File.dirname(__FILE__) + "/html_formatted-#{::RUBY_VERSION}#{suffix}.html"
23
19
  raise "There is no HTML file with expected content for this platform: #{expected_file}" unless File.file?(expected_file)
24
20
  expected_html = File.read(expected_file)
25
21
 
@@ -27,7 +23,7 @@ module Spec
27
23
  args = ['examples/failing/mocking_example.rb', 'examples/failing/diffing_spec.rb', 'examples/passing/stubbing_example.rb', 'examples/passing/pending_example.rb', '--format', 'html', opt]
28
24
  err = StringIO.new
29
25
  out = StringIO.new
30
- run_with OptionParser.parse(args, err, out)
26
+ run_with ::Spec::Runner::OptionParser.parse(args, err, out)
31
27
 
32
28
  seconds = /\d+\.\d+ seconds/
33
29
  html = out.string.gsub seconds, 'x seconds'
@@ -38,12 +34,12 @@ module Spec
38
34
  # Use with care!!!
39
35
  # File.open(expected_file, 'w') {|io| io.write(html)}
40
36
 
41
- doc = Hpricot(html)
42
- backtraces = doc.search("div.backtrace").collect {|e| e.at("/pre").inner_html}
43
- doc.search("div.backtrace").remove
37
+ doc = Nokogiri::HTML(html)
38
+ backtraces = doc.search("div.backtrace").collect {|e| e.at("pre").inner_html}
39
+ doc.css("div.backtrace").remove
44
40
 
45
- expected_doc = Hpricot(expected_html)
46
- expected_backtraces = expected_doc.search("div.backtrace").collect {|e| e.at("/pre").inner_html}
41
+ expected_doc = Nokogiri::HTML(expected_html)
42
+ expected_backtraces = expected_doc.search("div.backtrace").collect {|e| e.at("pre").inner_html}
47
43
  expected_doc.search("div.backtrace").remove
48
44
 
49
45
  doc.inner_html.should == expected_doc.inner_html
@@ -192,7 +192,7 @@ OUT
192
192
  formatter.example_failed(
193
193
  example_group.it("spec"),
194
194
  98,
195
- Reporter::Failure.new("c s", RuntimeError.new)
195
+ ::Spec::Runner::Reporter::Failure.new("c s", RuntimeError.new)
196
196
  )
197
197
  io.string.should == <<-OUT
198
198
  ExampleGroup
@@ -206,7 +206,7 @@ OUT
206
206
  formatter.example_failed(
207
207
  example_group.it("spec"),
208
208
  98,
209
- Reporter::Failure.new("c s", Spec::Expectations::ExpectationNotMetError.new)
209
+ ::Spec::Runner::Reporter::Failure.new("c s", Spec::Expectations::ExpectationNotMetError.new)
210
210
  )
211
211
  io.string.should == <<-OUT
212
212
  ExampleGroup
@@ -230,7 +230,7 @@ OUT
230
230
  formatter.example_failed(
231
231
  grand_child_example_group.it("spec"),
232
232
  98,
233
- Reporter::Failure.new("c s", RuntimeError.new)
233
+ ::Spec::Runner::Reporter::Failure.new("c s", RuntimeError.new)
234
234
  )
235
235
  io.string.should == <<-OUT
236
236
  ExampleGroup
@@ -246,7 +246,7 @@ OUT
246
246
  formatter.example_failed(
247
247
  grand_child_example_group.it("spec"),
248
248
  98,
249
- Reporter::Failure.new("c s", Spec::Expectations::ExpectationNotMetError.new)
249
+ ::Spec::Runner::Reporter::Failure.new("c s", Spec::Expectations::ExpectationNotMetError.new)
250
250
  )
251
251
  io.string.should == <<-OUT
252
252
  ExampleGroup