mofo 0.2.2 → 0.2.3

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 (64) hide show
  1. data/CHANGELOG +6 -0
  2. data/Manifest.txt +55 -0
  3. data/Rakefile +32 -0
  4. data/init.rb +2 -0
  5. data/lib/microformat.rb +39 -6
  6. data/lib/mofo/hentry.rb +4 -0
  7. data/site/index.html +382 -0
  8. data/site/mofo-logo.png +0 -0
  9. data/site/mootools.v1.00.js +2 -0
  10. data/site/style.css +159 -0
  11. data/test/base_url_test.rb +22 -0
  12. data/test/fixtures/corkd.html +1 -1
  13. data/test/hatom_test.rb +1 -1
  14. data/test/hreview_test.rb +4 -3
  15. data/test/include_pattern_test.rb +1 -1
  16. data/test/test_helper.rb +17 -6
  17. metadata +63 -115
  18. data/test/format_test.rb +0 -230
  19. data/vendor/testspec-0.3.0/ChangeLog +0 -177
  20. data/vendor/testspec-0.3.0/README +0 -289
  21. data/vendor/testspec-0.3.0/ROADMAP +0 -1
  22. data/vendor/testspec-0.3.0/Rakefile +0 -151
  23. data/vendor/testspec-0.3.0/SPECS +0 -108
  24. data/vendor/testspec-0.3.0/TODO +0 -2
  25. data/vendor/testspec-0.3.0/bin/specrb +0 -104
  26. data/vendor/testspec-0.3.0/doc/classes/Kernel.html +0 -140
  27. data/vendor/testspec-0.3.0/doc/classes/Object.html +0 -155
  28. data/vendor/testspec-0.3.0/doc/classes/Test/Spec.html +0 -128
  29. data/vendor/testspec-0.3.0/doc/classes/Test/Spec/CustomShould.html +0 -236
  30. data/vendor/testspec-0.3.0/doc/classes/Test/Spec/DefinitionError.html +0 -111
  31. data/vendor/testspec-0.3.0/doc/classes/Test/Spec/Should.html +0 -884
  32. data/vendor/testspec-0.3.0/doc/classes/Test/Spec/ShouldNot.html +0 -487
  33. data/vendor/testspec-0.3.0/doc/classes/Test/Spec/TestCase.html +0 -220
  34. data/vendor/testspec-0.3.0/doc/classes/Test/Spec/TestCase/ClassMethods.html +0 -318
  35. data/vendor/testspec-0.3.0/doc/classes/Test/Spec/TestCase/InstanceMethods.html +0 -195
  36. data/vendor/testspec-0.3.0/doc/classes/Test/Unit/UI/RDox/TestRunner.html +0 -222
  37. data/vendor/testspec-0.3.0/doc/classes/Test/Unit/UI/SpecDox/TestRunner.html +0 -476
  38. data/vendor/testspec-0.3.0/doc/created.rid +0 -1
  39. data/vendor/testspec-0.3.0/doc/files/README.html +0 -516
  40. data/vendor/testspec-0.3.0/doc/files/ROADMAP.html +0 -109
  41. data/vendor/testspec-0.3.0/doc/files/SPECS.html +0 -386
  42. data/vendor/testspec-0.3.0/doc/files/lib/test/spec/dox_rb.html +0 -108
  43. data/vendor/testspec-0.3.0/doc/files/lib/test/spec/rdox_rb.html +0 -108
  44. data/vendor/testspec-0.3.0/doc/files/lib/test/spec/should-output_rb.html +0 -115
  45. data/vendor/testspec-0.3.0/doc/files/lib/test/spec_rb.html +0 -123
  46. data/vendor/testspec-0.3.0/doc/fr_class_index.html +0 -38
  47. data/vendor/testspec-0.3.0/doc/fr_file_index.html +0 -33
  48. data/vendor/testspec-0.3.0/doc/fr_method_index.html +0 -102
  49. data/vendor/testspec-0.3.0/doc/index.html +0 -24
  50. data/vendor/testspec-0.3.0/doc/rdoc-style.css +0 -208
  51. data/vendor/testspec-0.3.0/examples/stack.rb +0 -38
  52. data/vendor/testspec-0.3.0/examples/stack_spec.rb +0 -119
  53. data/vendor/testspec-0.3.0/lib/test/spec.rb +0 -490
  54. data/vendor/testspec-0.3.0/lib/test/spec/dox.rb +0 -122
  55. data/vendor/testspec-0.3.0/lib/test/spec/rdox.rb +0 -25
  56. data/vendor/testspec-0.3.0/lib/test/spec/should-output.rb +0 -49
  57. data/vendor/testspec-0.3.0/test/spec_dox.rb +0 -39
  58. data/vendor/testspec-0.3.0/test/spec_flexmock.rb +0 -210
  59. data/vendor/testspec-0.3.0/test/spec_mocha.rb +0 -118
  60. data/vendor/testspec-0.3.0/test/spec_nestedcontexts.rb +0 -26
  61. data/vendor/testspec-0.3.0/test/spec_should-output.rb +0 -26
  62. data/vendor/testspec-0.3.0/test/spec_testspec.rb +0 -522
  63. data/vendor/testspec-0.3.0/test/spec_testspec_order.rb +0 -26
  64. data/vendor/testspec-0.3.0/test/test_testunit.rb +0 -21
@@ -1 +0,0 @@
1
- Wed Jan 24 12:13:34 CET 2007
@@ -1,516 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>File: README</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="fileHeader">
50
- <h1>README</h1>
51
- <table class="header-table">
52
- <tr class="top-aligned-row">
53
- <td><strong>Path:</strong></td>
54
- <td>README
55
- </td>
56
- </tr>
57
- <tr class="top-aligned-row">
58
- <td><strong>Last Update:</strong></td>
59
- <td>Wed Jan 24 12:13:27 CET 2007</td>
60
- </tr>
61
- </table>
62
- </div>
63
- <!-- banner header -->
64
-
65
- <div id="bodyContent">
66
-
67
-
68
-
69
- <div id="contextContent">
70
-
71
- <div id="description">
72
- <h1>test/spec, a BDD interface for Test::Unit</h1>
73
- <p>
74
- Copyright (C) 2006, 2007 Christian Neukirchen &lt;<a
75
- href="mailto:chneukirchen@gmail.com">chneukirchen@gmail.com</a>&gt;
76
- </p>
77
- <h2>What is test/spec?</h2>
78
- <p>
79
- test/spec layers an RSpec-inspired interface on top of Test::Unit, so you
80
- can mix TDD and BDD (Behavior-Driven Development).
81
- </p>
82
- <p>
83
- test/spec is a clean-room implementation that maps most kinds of Test::Unit
84
- assertions to a `should&#8217;-like syntax.
85
- </p>
86
- <p>
87
- Consider this Test::Unit test case:
88
- </p>
89
- <pre>
90
- class TestFoo &lt; Test::Unit::TestCase
91
- def test_should_bar
92
- assert_equal 5, 2 + 3
93
- end
94
- end
95
- </pre>
96
- <p>
97
- In test/spec, it looks like this:
98
- </p>
99
- <pre>
100
- require 'test/spec'
101
-
102
- context &quot;Foo&quot; do
103
- specify &quot;should bar&quot; do
104
- (2 + 3).should.equal 5
105
- end
106
- end
107
- </pre>
108
- <p>
109
- test/spec does not include a mocking/stubbing-framework; use whichever you
110
- like to. test/spec has been tested successfully with FlexMock and Mocha.
111
- </p>
112
- <p>
113
- test/spec has no dependencies outside Ruby 1.8.
114
- </p>
115
- <h2>Mixing test/spec and test/unit</h2>
116
- <p>
117
- test/spec and Test::Unit contexts/test cases can be intermixed freely, run
118
- in the same test and live in the same files. You can just add them to your
119
- Rake::TestTask, too. test/spec allows you to leverage your full existing
120
- Test::Unit infrastructure.
121
- </p>
122
- <p>
123
- test/spec does not change Test::Unit with the exception of monkey-patching
124
- Test::Unit::TestSuite to order the test cases before running them. (This
125
- should not do any harm, but if you know a way around it, please tell me.)
126
- </p>
127
- <p>
128
- test/spec adds two global methods, <a
129
- href="../classes/Object.html#M000001">Object#should</a> and <a
130
- href="../classes/Kernel.html#M000002">Kernel.context</a>.
131
- </p>
132
- <p>
133
- You can use <tt>assert_*</tt> freely in specify-blocks; <a
134
- href="../classes/Object.html#M000001">Object#should</a> works in plain
135
- Test::Unit test cases, too, but they will not be counted.
136
- </p>
137
- <h2>Wrapped assertions</h2>
138
- <table>
139
- <tr><td valign="top"><tt>assert_equal</tt>:</td><td><tt>should.equal</tt>, <tt>should ==</tt>
140
-
141
- </td></tr>
142
- <tr><td valign="top"><tt>assert_not_equal</tt>:</td><td><tt>should.not.equal</tt>, <tt>should.not ==</tt>
143
-
144
- </td></tr>
145
- <tr><td valign="top"><tt>assert_same</tt>:</td><td><tt>should.be</tt>
146
-
147
- </td></tr>
148
- <tr><td valign="top"><tt>assert_not_same</tt>:</td><td><tt>should.not.be</tt>
149
-
150
- </td></tr>
151
- <tr><td valign="top"><tt>assert_nil</tt>:</td><td><tt>should.be.nil</tt>
152
-
153
- </td></tr>
154
- <tr><td valign="top"><tt>assert_not_nil</tt>:</td><td><tt>should.not.be.nil</tt>
155
-
156
- </td></tr>
157
- <tr><td valign="top"><tt>assert_in_delta</tt>:</td><td><tt>should.be.close</tt>
158
-
159
- </td></tr>
160
- <tr><td valign="top"><tt>assert_match</tt>:</td><td><tt>should.match</tt>, <tt>should =~</tt>
161
-
162
- </td></tr>
163
- <tr><td valign="top"><tt>assert_no_match</tt>:</td><td><tt>should.not.match</tt>, <tt>should.not =~</tt>
164
-
165
- </td></tr>
166
- <tr><td valign="top"><tt>assert_instance_of</tt>:</td><td><tt>should.be.an.instance_of</tt>
167
-
168
- </td></tr>
169
- <tr><td valign="top"><tt>assert_kind_of</tt>:</td><td><tt>should.be.a.kind_of</tt>
170
-
171
- </td></tr>
172
- <tr><td valign="top"><tt>assert_respond_to</tt>:</td><td><tt>should.respond_to</tt>
173
-
174
- </td></tr>
175
- <tr><td valign="top"><tt>assert_raise</tt>:</td><td><tt>should.raise</tt>
176
-
177
- </td></tr>
178
- <tr><td valign="top"><tt>assert_nothing_raised</tt>:</td><td><tt>should.not.raise</tt>
179
-
180
- </td></tr>
181
- <tr><td valign="top"><tt>assert_throws</tt>:</td><td><tt>should.throw</tt>
182
-
183
- </td></tr>
184
- <tr><td valign="top"><tt>assert_nothing_thrown</tt>:</td><td><tt>should.not.throw</tt>
185
-
186
- </td></tr>
187
- <tr><td valign="top"><tt>assert_block</tt>:</td><td><tt>should.satisfy</tt>
188
-
189
- </td></tr>
190
- </table>
191
- <p>
192
- (<tt>a</tt>, <tt>an</tt> and <tt>be</tt> without arguments are optional and
193
- no-ops.)
194
- </p>
195
- <h2>Additional assertions</h2>
196
- <p>
197
- These assertions are not included in Test::Unit, but have been added to
198
- test/spec for convenience:
199
- </p>
200
- <ul>
201
- <li><tt>should.not.satisfy</tt>
202
-
203
- </li>
204
- <li><tt>should.include</tt>
205
-
206
- </li>
207
- <li><tt>a.should.</tt><em>predicate</em> (works like <tt>assert
208
- a.</tt><em>predicate</em><tt>?</tt>)
209
-
210
- </li>
211
- <li><tt>a.should.be </tt><em>operator</em> (where <em>operator</em> is one of
212
- <tt>&gt;</tt>, <tt>&gt;=</tt>, <tt>&lt;</tt>, <tt>&lt;=</tt> or
213
- <tt>===</tt>)
214
-
215
- </li>
216
- <li><tt>should.output</tt> (require test/spec/should-output)
217
-
218
- </li>
219
- </ul>
220
- <p>
221
- If you write an useful general-purpose assertion, I&#8217;d like to hear of
222
- it and may add it to the test/spec distribution.
223
- </p>
224
- <h2>Messaging/Blaming</h2>
225
- <p>
226
- With more complex assertions, it may be helpful to provide a message to
227
- show if the assertion has failed. This can be done with the Should#blaming
228
- or Should#messaging methods:
229
- </p>
230
- <pre>
231
- RUBY_VERSION.should.messaging(&quot;Ruby too old.&quot;).be &gt; &quot;1.8.4&quot;
232
-
233
- (1 + 1).should.blaming(&quot;weird math&quot;).not.equal 11
234
- </pre>
235
- <h2>Custom shoulds (&quot;Matchers&quot;)</h2>
236
- <p>
237
- To capture recurring patterns in parts of your specifications, you can
238
- define custom &quot;shoulds&quot; (RSpec calls them &quot;matchers&quot;)
239
- in your contexts, or include modules of them:
240
- </p>
241
- <pre>
242
- context &quot;Numbers&quot;
243
- class EqualString &lt; Test::Spec::CustomShould
244
- def matches?(other)
245
- object == other.to_s
246
- end
247
- end
248
-
249
- def equal_string(str)
250
- EqualString.new(str)
251
- end
252
-
253
- specify &quot;should have to_s&quot;
254
- 42.should equal_string(&quot;42&quot;)
255
- end
256
- end
257
- </pre>
258
- <p>
259
- Alternatively, your implementation can define CustomShould#assumptions,
260
- where you can use test/spec assertions instead of Boolean predicates:
261
- </p>
262
- <pre>
263
- class EqualString &lt; Test::Spec::CustomShould
264
- def assumptions(other)
265
- object.should.equal other.to_s
266
- end
267
- end
268
- </pre>
269
- <p>
270
- A CustomShould by default takes one argument, which is placed in
271
- self.object for your convenience.
272
- </p>
273
- <p>
274
- You can CustomShould#failure_message to provide a better error message.
275
- </p>
276
- <h2>SpecDox and RDox</h2>
277
- <p>
278
- test/spec adds two additional test runners to Test::Unit, based on the
279
- console runner but with a different output format.
280
- </p>
281
- <p>
282
- SpecDox, run with <tt>&#8212;runner=specdox</tt> (or <tt>-rs</tt>) looks
283
- like RSpec&#8217;s output:
284
- </p>
285
- <pre>
286
- should.output
287
- - works for print
288
- - works for puts
289
- - works with readline
290
- </pre>
291
- <p>
292
- RDox, run with <tt>&#8212;runner=rdox</tt> (or <tt>-rr</tt>) can be
293
- included for RDoc documentation (e.g. see SPECS):
294
- </p>
295
- <pre>
296
- == should.output
297
- * works for print
298
- * works for puts
299
- * works with readline
300
- </pre>
301
- <p>
302
- SpecDox and RDox work for Test::Unit too:
303
- </p>
304
- <pre>
305
- $ ruby -r test/spec test/testunit/test_testresult.rb -rs
306
-
307
- Test::Unit::TC_TestResult
308
- - fault notification
309
- - passed?
310
- - result changed notification
311
-
312
- Finished in 0.106647 seconds.
313
-
314
- 3 specifications (30 requirements), 0 failures
315
- </pre>
316
- <h2>Disabled specifications</h2>
317
- <p>
318
- Akin to the usual Test::Unit practice, tests quickly can be disabled by
319
- replacing <tt>specify</tt> with <tt>xspecify</tt>. test/spec will count the
320
- disabled tests when you run it with SpecDox or RDox.
321
- </p>
322
- <h2>specrb</h2>
323
- <p>
324
- Since version 0.2, test/spec features a standalone test runner called
325
- specrb. specrb is like an extended version of testrb, Test::Unit&#8217;s
326
- test runner, but has additional options. It can be used for plain
327
- Test::Unit suites, too.
328
- </p>
329
- <pre>
330
- $ specrb -a -s -n should.output
331
-
332
- should.output
333
- - works for print
334
- - works for puts
335
- - works with readline
336
-
337
- Finished in 0.162571 seconds.
338
-
339
- 3 specifications (6 requirements), 0 failures
340
- </pre>
341
- <p>
342
- Run <tt>specrb &#8212;help</tt> for the usage.
343
- </p>
344
- <h2>Installing with RubyGems</h2>
345
- <p>
346
- Since version 0.3, a Gem of test/spec is available. You can install with:
347
- </p>
348
- <pre>
349
- gem install test-spec
350
- </pre>
351
- <p>
352
- I also provide a local mirror of the gems (and development snapshots) at my
353
- site:
354
- </p>
355
- <pre>
356
- gem install test-spec --source http://chneukirchen.org/releases/gems
357
- </pre>
358
- <h2>History</h2>
359
- <ul>
360
- <li>September 29th, 2006: First public release 0.1.
361
-
362
- </li>
363
- <li>October 18th, 2006: Second public release 0.2.
364
-
365
- <ul>
366
- <li>Better, module-based implementation
367
-
368
- </li>
369
- <li>Official support for FlexMock and Mocha
370
-
371
- </li>
372
- <li>More robust Should#output
373
-
374
- </li>
375
- <li>Should#<em>operator</em>
376
-
377
- </li>
378
- <li>Nested contexts
379
-
380
- </li>
381
- <li>Standalone test/spec runner, specrb
382
-
383
- </li>
384
- </ul>
385
- </li>
386
- <li>January 24th, 2007: Third public release 0.3.
387
-
388
- <ul>
389
- <li>should.be_close, should.be_an_instance_of, should.be_a_kind_of, and
390
- should.be_nil have been deprecated. Use the dot-variants of them. These
391
- assertions will be removed in 1.0.
392
-
393
- </li>
394
- <li>specrb -a now includes -Ilib by default for easier out-of-the-box testing.
395
-
396
- </li>
397
- <li>Added custom shoulds.
398
-
399
- </li>
400
- <li>Added messaging/blaming.
401
-
402
- </li>
403
- <li>Added disabling of specifications.
404
-
405
- </li>
406
- <li>Small bug fixes.
407
-
408
- </li>
409
- <li>Gem available.
410
-
411
- </li>
412
- </ul>
413
- </li>
414
- </ul>
415
- <h2>Contact</h2>
416
- <p>
417
- Please mail bugs, suggestions and patches to &lt;<a
418
- href="mailto:chneukirchen@gmail.com">chneukirchen@gmail.com</a>&gt;.
419
- </p>
420
- <p>
421
- Darcs repository (&quot;darcs send&quot; is welcome for patches): <a
422
- href="http://chneukirchen.org/repos/testspec">chneukirchen.org/repos/testspec</a>
423
- </p>
424
- <h2>Thanks to</h2>
425
- <ul>
426
- <li>Eero Saynatkari for writing <tt>should.output</tt>.
427
-
428
- </li>
429
- <li>Jean-Michel Garnier for packaging the first gem.
430
-
431
- </li>
432
- <li>Mikko Lehtonen for testing the gem.
433
-
434
- </li>
435
- <li>Thomas Fuchs for script.aculo.us BDD testing which convinced me.
436
-
437
- </li>
438
- <li>Dave Astels for BDD.
439
-
440
- </li>
441
- <li>The RSpec team for API inspiration.
442
-
443
- </li>
444
- <li>Nathaniel Talbott for Test::Unit.
445
-
446
- </li>
447
- </ul>
448
- <h2>Copying</h2>
449
- <p>
450
- Copyright (C) 2006, 2007 Christian Neukirchen &lt;<a
451
- href="http://purl.org/net/chneukirchen">purl.org/net/chneukirchen</a>&gt;
452
- </p>
453
- <p>
454
- test/spec is licensed under the same terms as Ruby itself.
455
- </p>
456
- <p>
457
- Please mail bugs, feature requests or patches to the mail addresses found
458
- above or use <a href="irc://freenode.net/#ruby-lang">IRC</a> to contact the
459
- developer.
460
- </p>
461
- <h2>Links</h2>
462
- <table>
463
- <tr><td valign="top">Behavior-Driven Development:</td><td>&lt;<a href="http://behaviour-driven.org">behaviour-driven.org</a>/&gt;
464
-
465
- </td></tr>
466
- <tr><td valign="top">RSpec:</td><td>&lt;<a href="http://rspec.rubyforge.org">rspec.rubyforge.org</a>/&gt;
467
-
468
- </td></tr>
469
- <tr><td valign="top">script.aculo.us testing:</td><td>&lt;<a
470
- href="http://mir.aculo.us/articles/2006/08/29/bdd-style-javascript-testing">mir.aculo.us/articles/2006/08/29/bdd-style-javascript-testing</a>&gt;
471
-
472
- </td></tr>
473
- <tr><td valign="top">FlexMock:</td><td>&lt;<a
474
- href="http://onestepback.org/software/flexmock">onestepback.org/software/flexmock</a>/&gt;
475
-
476
- </td></tr>
477
- <tr><td valign="top">Mocha:</td><td>&lt;<a href="http://mocha.rubyforge.org">mocha.rubyforge.org</a>/&gt;
478
-
479
- </td></tr>
480
- <tr><td valign="top">Christian Neukirchen:</td><td>&lt;<a href="http://chneukirchen.org">chneukirchen.org</a>/&gt;
481
-
482
- </td></tr>
483
- </table>
484
-
485
- </div>
486
-
487
-
488
- </div>
489
-
490
-
491
- </div>
492
-
493
-
494
- <!-- if includes -->
495
-
496
- <div id="section">
497
-
498
-
499
-
500
-
501
-
502
-
503
-
504
-
505
- <!-- if method_list -->
506
-
507
-
508
- </div>
509
-
510
-
511
- <div id="validator-badges">
512
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
513
- </div>
514
-
515
- </body>
516
- </html>