spec 5.0.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +7 -0
  2. data/.autotest +34 -0
  3. data/.gitignore +3 -0
  4. data/History.txt +911 -0
  5. data/Manifest.txt +26 -0
  6. data/README.txt +497 -0
  7. data/Rakefile +214 -0
  8. data/design_rationale.rb +52 -0
  9. data/lib/hoe/minitest.rb +26 -0
  10. data/lib/minitest/assertions.rb +649 -0
  11. data/lib/minitest/autorun.rb +12 -0
  12. data/lib/minitest/benchmark.rb +423 -0
  13. data/lib/minitest/expectations.rb +268 -0
  14. data/lib/minitest/hell.rb +11 -0
  15. data/lib/minitest/mock.rb +220 -0
  16. data/lib/minitest/parallel_each.rb +120 -0
  17. data/lib/minitest/pride.rb +4 -0
  18. data/lib/minitest/pride_plugin.rb +143 -0
  19. data/lib/minitest/spec.rb +292 -0
  20. data/lib/minitest/test.rb +272 -0
  21. data/lib/minitest/unit.rb +45 -0
  22. data/lib/minitest.rb +839 -0
  23. data/lib/spec.rb +3 -0
  24. data/readme.md +7 -0
  25. data/release_notes.md +49 -0
  26. data/spec.gemspec +36 -0
  27. data/test/manual/appium.rb +14 -0
  28. data/test/manual/appium_after_last.rb +24 -0
  29. data/test/manual/appium_before_first.rb +23 -0
  30. data/test/manual/assert.rb +61 -0
  31. data/test/manual/before_first_0.rb +27 -0
  32. data/test/manual/before_first_1.rb +29 -0
  33. data/test/manual/debug.rb +37 -0
  34. data/test/manual/do_end.rb +31 -0
  35. data/test/manual/raise.rb +61 -0
  36. data/test/manual/run2.rb +74 -0
  37. data/test/manual/run3.rb +91 -0
  38. data/test/manual/setup.rb +13 -0
  39. data/test/manual/simple.rb +19 -0
  40. data/test/manual/simple2.rb +20 -0
  41. data/test/manual/t.rb +11 -0
  42. data/test/manual/trace.rb +19 -0
  43. data/test/manual/trace2.rb +15 -0
  44. data/test/minitest/metametameta.rb +78 -0
  45. data/test/minitest/test_helper.rb +20 -0
  46. data/test/minitest/test_minitest_benchmark.rb +131 -0
  47. data/test/minitest/test_minitest_mock.rb +490 -0
  48. data/test/minitest/test_minitest_reporter.rb +270 -0
  49. data/test/minitest/test_minitest_spec.rb +794 -0
  50. data/test/minitest/test_minitest_unit.rb +1846 -0
  51. metadata +147 -0
data/History.txt ADDED
@@ -0,0 +1,911 @@
1
+ === 5.0.6 / 2013-06-28
2
+
3
+ * 3 minor enhancements:
4
+
5
+ * Allow stub to pass args to blocks. (swindsor)
6
+ * Improved warning message about minitest/autorun to address 1.9's minitest/autorun.
7
+ * Made minitest/test require minitest as needed. For lib writers. (erikh)
8
+
9
+ * 1 bug fix:
10
+
11
+ * Fixed missing require in minitest/test. (erikh)
12
+
13
+ === 5.0.5 / 2013-06-20
14
+
15
+ * 6 bug fixes:
16
+
17
+ * DOH! Fixed the rest of the new casing on Minitest. (splattael)
18
+ * Fixed typo on minitest/mock rdoc. (mrgilman/guiceolin)
19
+ * Make Spec::DSL.describe_stack thread local to avoid failing on my own tests.
20
+ * Make a fake Time.now local to the tests so they won't interfere with real reporter timings.
21
+ * Make everything mockable by wrapping all 'special' methods in a smarter wrapper. (bestie)
22
+ * Raise ArgumentError if let name starts with 'test'. (johnmaxwell)
23
+
24
+ === 5.0.4 / 2013-06-07
25
+
26
+ * 5 minor enhancements:
27
+
28
+ * Added AbstractReporter, defining required Reporter API to quack properly.
29
+ * Added doco for writing reporters.
30
+ * Refactored Reporter into ProgressReporter and SummaryReporter. (idea: phiggins, code:me+scotch)
31
+ * Refactored SummaryReporter pushing up to StatisticsReporter. (phiggins)
32
+ * Removed Reporter#run_and_report... cleaner, but doesn't "fit" in the API.
33
+
34
+ === 5.0.3 / 2013-05-29
35
+
36
+ * 4 minor enhancements:
37
+
38
+ * Added Runnable.with_info_handler and Runnable.on_signal.
39
+ * Moved io.sync restore to Reporter#run_and_report.
40
+ * Refactored inner loop of Reporter#report to #to_s. Callable for status updates.
41
+ * Restored MT4's mid-run report (^t). (tenderlove).
42
+
43
+ === 5.0.2 / 2013-05-20
44
+
45
+ * 3 bug fixes:
46
+
47
+ * Gem.find_files is smarter than I remember... cause I wrote it that way. *sigh* I'm getting old.
48
+ * Pride wasn't doing puts through its #io. (tmiller/tenderlove)
49
+ * Replaced Runnable#dup and Test#dup with marshal_dump/load. Too many problems cropping up on untested rails code. (tenderlove/rubys)
50
+
51
+ === 5.0.1 / 2013-05-14
52
+
53
+ * 2 bug fixes:
54
+
55
+ * Documented Assertions' need for @assertions to be defined by the includer.
56
+ * Only load one plugin version per name. Tries for latest.
57
+
58
+ === 5.0.0 / 2013-05-10
59
+
60
+ Oh god... here we go...
61
+
62
+ Minitest 5:
63
+
64
+ * 4 deaths in the family:
65
+
66
+ * MiniTest.runner is dead. No more manager objects.
67
+ * MiniTest::Unit#record is dead. Use a Reporter instance instead.
68
+ * MiniTest::Unit._run_* is dead. Runnable things are responsible for their own runs.
69
+ * MiniTest::Unit.output is dead. No more centralized IO.
70
+
71
+ * 12 major (oft incompatible) changes:
72
+
73
+ * Renamed MiniTest to Minitest. Your pinkies will thank me. (aliased to MiniTest)
74
+ * Removed MiniTest::Unit entirely. No more manager objects.
75
+ * Added Minitest::Runnable. Everything minitest can run subclasses this.
76
+ * Renamed MiniTest::Unit::TestCase to Minitest::Test (subclassing Runnable).
77
+ * Added Minitest::Benchmark.
78
+ * Your benchmarks need to move to their own subclass.
79
+ * Benchmarks using the spec DSL have to have "Bench" somewhere in their describe.
80
+ * MiniTest::Unit.after_tests moved to Minitest.after_tests
81
+ * MiniTest::Unit.autorun is now Minitest.autorun. Just require minitest/autorun pls.
82
+ * Removed ParallelEach#grep since it isn't used anywhere.
83
+ * Renamed Runnable#__name__ to Runnable#name (but uses @NAME internally).
84
+ * Runnable#run needs to return self. Allows for swapping of results as needed.
85
+
86
+ * 8 minor moves:
87
+
88
+ * Moved Assertions module to minitest/assertions.rb
89
+ * Moved Expectations module to minitest/expectations.rb
90
+ * Moved Test to minitest/test.rb
91
+ * Moved everything else in minitest/unit.rb to minitest.rb
92
+ * minitest/unit.rb is now just a small (user-test only) compatibility layer.
93
+ * Moved most of minitest/pride into minitest/pride_plugin.
94
+ * minitest/pride now just activates pride.
95
+ * Moved ParallelEach under Minitest.
96
+
97
+ * 9 additions:
98
+
99
+ * Added a plugin system that can extend command-line options.
100
+ * Added Minitest.extensions.
101
+ * Added Minitest.reporter (only available during startup).
102
+ * Added Minitest.run(args). This is the very top of any Minitest run.
103
+ * Added Minitest::Reporter. Everything minitest can report goes through here.
104
+ * Minitest.reporter is a composite so you can add your own.
105
+ * Added Minitest::CompositeReporter. Much easier to extend with your own reporters.
106
+ * Added UnexpectedError, an Assertion subclass, to wrap up errors.
107
+ * Minitest::Test#run is now freakin' beautiful. 47 -> 17 loc
108
+
109
+ * 11 other:
110
+
111
+ * Removed Object.infect_with_assertions (it was already dead code).
112
+ * Runnables are responsible for knowing their result_code (eg "." or "F").
113
+ * Minitest.autorun now returns boolean, not exit code.
114
+ * Added FAQ entry for extending via modules. (phiggins)
115
+ * Implement Runnable#dup to cleanse state back to test results. Helps with serialization. pair:tenderlove
116
+ * Moved ParallelEach under Minitest.
117
+ * Runnable#run needs to return self. Allows for swapping of results as needed.
118
+ * Minitest.init_plugins passes down options.
119
+ * Minitest.load_plugins only loads once.
120
+ * Fixed minitest/pride to work with rake test loader again. (tmiller)
121
+ * Added count/size to ParallelEach to fix use w/in stdlib's test/unit. :( (btaitelb)
122
+
123
+ * 5 voodoo:
124
+
125
+ * Removed mutex from minitest.rb (phiggins)
126
+ * Removed mutex from test.rb (phiggins)
127
+ * Removed Minitest::Reporter.synchronize (phiggins)
128
+ * Removed Minitest::Test.synchronize (phiggins)
129
+ * Upon loading minitest/parallel_each, record, capture_io and capture_subprocess_io are doped with synchronization code. (phiggins)
130
+
131
+ === 4.7.3 / 2013-04-20
132
+
133
+ * 1 bug fix:
134
+
135
+ * Reverted stubbing of module methods change. Stub the user, not the impl. (ab9/tyabe)
136
+
137
+ === 4.7.2 / 2013-04-18
138
+
139
+ * 2 bug fixes:
140
+
141
+ * Fixed inconsistency in refute_in_delta/epsilon. I double negatived my logic. (nettsundere)
142
+ * Fixed stubbing of module methods (eg Kernel#sleep). (steveklabnik)
143
+
144
+ === 4.7.1 / 2013-04-09
145
+
146
+ * 1 minor enhancement:
147
+
148
+ * Added FAQ section to README
149
+
150
+ * 1 bug fix:
151
+
152
+ * Fixed bug where guard runs tests bypassing minitest/autorun and an ivar isn't set right. (darrencauthon)
153
+
154
+ === 4.7.0 / 2013-03-18
155
+
156
+ * 1 major enhancement:
157
+
158
+ * Refactored MiniTest::Spec into MiniTest::Spec::DSL.
159
+
160
+ * 1 bug fix:
161
+
162
+ * Removed $DEBUG handler that detected when test/unit and minitest were both loaded. (tenderlove)
163
+
164
+ === 4.6.2 / 2013-02-27
165
+
166
+ * 1 minor enhancement:
167
+
168
+ * Change error output to match Class#method, making it easier to use -n filter.
169
+
170
+ === 4.6.1 / 2013-02-14
171
+
172
+ * 1 bug fix:
173
+
174
+ * Fixed an option processing bug caused by test/unit's irresponsibly convoluted code. (floehopper)
175
+
176
+ === 4.6.0 / 2013-02-07
177
+
178
+ * 3 major enhancements:
179
+
180
+ * Removed ::reset_setup_teardown_hooks
181
+ * Removed the long deprecated assert_block
182
+ * Removed the long deprecated lifecycle hooks: add_(setup|teardown)_hook
183
+
184
+ * 1 minor enhancement:
185
+
186
+ * Allow filtering tests by suite name as well as test name. (lazyatom)
187
+
188
+ * 2 bug fixes:
189
+
190
+ * Made hex handling (eg object_ids) in mu_pp_for_diff more specific. (maxim)
191
+ * nodoc top-level module. (zzak)
192
+
193
+ === 4.5.0 / 2013-01-22
194
+
195
+ * 1 major enhancement:
196
+
197
+ * Rearranged minitest/unit.rb so NO parallelization code is loaded/used until you opt-in.
198
+
199
+ * 4 minor enhancements:
200
+
201
+ * Added TestCase#skipped? for teardown guards
202
+ * Added maglev? guard
203
+ * Document that record can be sent twice if teardown fails or errors (randycoulman)
204
+ * Errors in teardown are now recorded. (randycoulman)
205
+
206
+ * 3 bug fixes:
207
+
208
+ * Added hacks and skips to get clean test runs on maglev
209
+ * Modified float tests for maglev float output differences. Not sure this is right. Not sure I care.
210
+ * Test for existance of diff.exe instead of assuming they have devkit. (blowmage/Cumbayah)
211
+
212
+ === 4.4.0 / 2013-01-07
213
+
214
+ * 3 minor enhancements:
215
+
216
+ * Added fit_logarithic and assert_performance_logarithmic. (ktheory)
217
+ * Merge processed options so others can mess with defaults. (tenderlove)
218
+ * TestCase#message can now take another proc to defer custom message cost. (ordinaryzelig/bhenderson)
219
+
220
+ * 1 bug fix:
221
+
222
+ * TestCase#passed? now true if test is skipped. (qanhd)
223
+
224
+ === 4.3.3 / 2012-12-06
225
+
226
+ * 1 bug fix:
227
+
228
+ * Updated information about stubbing. (daviddavis)
229
+
230
+ === 4.3.2 / 2012-11-27
231
+
232
+ * 1 minor enhancement:
233
+
234
+ * Improved assert_equals error message to point you at #== of member objects. (kcurtin)
235
+
236
+ === 4.3.1 / 2012-11-23
237
+
238
+ * 1 bug fix:
239
+
240
+ * Moved test_children to serial testcase to prevent random failures.
241
+
242
+ === 4.3.0 / 2012-11-17
243
+
244
+ * 4 minor enhancements:
245
+
246
+ * Allow #autorun to run even if loaded with other test libs that call exit. (sunaku)
247
+ * Do not include Expectations in Object if $MT_NO_EXPECTATIONS is set (experimental?)
248
+ * Gave some much needed love to assert_raises.
249
+ * Mock#expect can take a block to custom-validate args. (gmoothart)
250
+
251
+ === 4.2.0 / 2012-11-02
252
+
253
+ * 4 major enhancements:
254
+
255
+ * Added minitest/hell - run all your tests through the ringer!
256
+ * Added support for :parallel test_order to run test cases in parallel.
257
+ * Removed last_error and refactored runner code to be threadsafe.
258
+ * _run_suites now runs suites in parallel if they opt-in.
259
+
260
+ * 4 minor enhancements:
261
+
262
+ * Added TestCase#synchronize
263
+ * Added TestCase.make_my_diffs_pretty!
264
+ * Added TestCase.parallelize_me!
265
+ * Lock on capture_io for thread safety (tenderlove)
266
+
267
+ === 4.1.0 / 2012-10-05
268
+
269
+ * 2 minor enhancements:
270
+
271
+ * Added skip example to readme. (dissolved)
272
+ * Extracted backtrace filter to object. (tenderlove)
273
+
274
+ * 1 bug fix:
275
+
276
+ * OMG I'm so dumb. Fixed access to deprecated hook class methods. I hate ruby modules. (route)
277
+
278
+ === 4.0.0 / 2012-09-28
279
+
280
+ * 1 major enhancement:
281
+
282
+ * The names of a privately-used undocumented constants are Super Important™.
283
+
284
+ * 1 minor enhancement:
285
+
286
+ * Support stubbing methods that would be handled via method_missing. (jhsu)
287
+
288
+ * 3 bug fixes:
289
+
290
+ * Add include_private param to MiniTest::Mock#respond_to? (rf-)
291
+ * Fixed use of minitest/pride with --help. (zw963)
292
+ * Made 'No visible difference.' message more clear. (ckrailo)
293
+
294
+ === 3.5.0 / 2012-09-21
295
+
296
+ * 1 minor enhancement:
297
+
298
+ * Added #capture_subprocess_io. (route)
299
+
300
+ === 3.4.0 / 2012-09-05
301
+
302
+ * 2 minor enhancements:
303
+
304
+ * assert_output can now take regexps for expected values. (suggested by stomar)
305
+ * Clarified that ruby 1.9/2.0's phony gems cause serious confusion for rubygems.
306
+
307
+ === 3.3.0 / 2012-07-26
308
+
309
+ * 1 major enhancement:
310
+
311
+ * Deprecated add_(setup|teardown)_hook in favor of (before|after)_(setup|teardown) [2013-01-01]
312
+
313
+ * 4 minor enhancements:
314
+
315
+ * Refactored deprecated hook system into a module.
316
+ * Refactored lifecycle hooks into a module.
317
+ * Removed after_setup/before_teardown + run_X_hooks from Spec.
318
+ * Spec#before/after now do a simple define_method and call super. DUR.
319
+
320
+ * 2 bug fixes:
321
+
322
+ * Fixed #passed? when used against a test that called flunk. (floehopper)
323
+ * Fixed rdoc bug preventing doco for some expectations. (stomar).
324
+
325
+ === 3.2.0 / 2012-06-26
326
+
327
+ * 1 minor enhancement:
328
+
329
+ * Stubs now yield self. (peterhellberg)
330
+
331
+ * 1 bug fix:
332
+
333
+ * Fixed verbose test that only fails when run in verbose mode. mmmm irony.
334
+
335
+ === 3.1.0 / 2012-06-13
336
+
337
+ * 2 minor enhancements:
338
+
339
+ * Removed LONG deprecated Unit.out accessor
340
+ * Removed generated method name munging from minitest/spec. (ordinaryzelig/tenderlove)
341
+
342
+ === 3.0.1 / 2012-05-24
343
+
344
+ * 1 bug fix:
345
+
346
+ * I'm a dumbass and refactored into Mock#call. Renamed to #__call so you can mock #call. (mschuerig)
347
+
348
+ === 3.0.0 / 2012-05-08
349
+
350
+ * 3 major enhancements:
351
+
352
+ * Added Object#stub (in minitest/mock.rb).
353
+ * Mock#expect mocks are used in the order they're given.
354
+ * Mock#verify now strictly compares against expect calls.
355
+
356
+ * 3 minor enhancements:
357
+
358
+ * Added caller to deprecation message.
359
+ * Mock error messages are much prettier.
360
+ * Removed String check for RHS of assert/refute_match. This lets #to_str work properly.
361
+
362
+ * 1 bug fix:
363
+
364
+ * Support drive letter on Windows. Patch provided from MRI by Usaku NAKAMURA. (ayumin)
365
+
366
+ === 2.12.1 / 2012-04-10
367
+
368
+ * 1 minor enhancement:
369
+
370
+ * Added ruby releases to History.txt to make it easier to see what you're missing
371
+
372
+ * 1 bug fix:
373
+
374
+ * Rolled my own deprecate msg to allow MT to work with rubygems < 1.7
375
+
376
+ === 2.12.0 / 2012-04-03
377
+
378
+ * 4 minor enhancements:
379
+
380
+ * ::it returns test method name (wojtekmach)
381
+ * Added #record method to runner so runner subclasses can cleanly gather data.
382
+ * Added Minitest alias for MiniTest because even I forget.
383
+ * Deprecated assert_block!! Yay!!!
384
+
385
+ * 1 bug fix:
386
+
387
+ * Fixed warning in i_suck_and_my_tests_are_order_dependent! (phiggins)
388
+
389
+ === 2.11.4 / 2012-03-20
390
+
391
+ * 2 minor enhancements:
392
+
393
+ * Updated known extensions
394
+ * You got your unicode in my tests! You got your tests in my unicode! (fl00r)
395
+
396
+ * 1 bug fix:
397
+
398
+ * Fixed MiniTest::Mock example in the readme. (conradwt)
399
+
400
+ === 2.11.3 / 2012-02-29
401
+
402
+ * 2 bug fixes:
403
+
404
+ * Clarified that assert_raises returns the exception for further testing
405
+ * Fixed assert_in_epsilon when both args are negative. (tamc)
406
+
407
+ === 2.11.2 / 2012-02-14
408
+
409
+ * 1 minor enhancement:
410
+
411
+ * Display failures/errors on SIGINFO. (tenderlove)
412
+
413
+ * 1 bug fix:
414
+
415
+ * Fixed MiniTest::Unit.after_tests for Ruby 1.9.3. (ysbaddaden)
416
+
417
+ === 2.11.1 / 2012-02-01
418
+
419
+ * 3 bug fixes:
420
+
421
+ * Improved description for --name argument. (drd)
422
+ * Ensure Mock#expect's expected args is an Array. (mperham)
423
+ * Ensure Mock#verify verifies multiple expects of the same method. (chastell)
424
+
425
+ === 2.11.0 / 2012-01-25
426
+
427
+ * 2 minor enhancements:
428
+
429
+ * Added before / after hooks for setup and teardown. (tenderlove)
430
+ * Pushed run_setup_hooks down to Spec. (tenderlove)
431
+
432
+ === 2.10.1 / 2012-01-17
433
+
434
+ * 1 bug fix:
435
+
436
+ * Fixed stupid 1.9 path handling grumble grumble. (graaff)
437
+
438
+ === 2.10.0 / 2011-12-20
439
+
440
+ * 3 minor enhancements:
441
+
442
+ * Added specs for must/wont be_empty/respond_to/be_kind_of and others.
443
+ * Added tests for assert/refute predicate.
444
+ * Split minitest/excludes.rb out to its own gem.
445
+
446
+ * 1 bug fix:
447
+
448
+ * Fixed must_be_empty and wont_be_empty argument handling. (mrsimo)
449
+
450
+ === 2.9.1 / 2011-12-13
451
+
452
+ * 4 minor enhancements:
453
+
454
+ * Added a ton of tests on spec error message output.
455
+ * Cleaned up consistency of msg handling on unary expectations.
456
+ * Improved error messages on assert/refute_in_delta.
457
+ * infect_an_assertion no longer checks arity and better handles args.
458
+
459
+ * 1 bug fix:
460
+
461
+ * Fixed error message on specs when 2+ args and custom message provided. (chastell)
462
+
463
+ === 2.9.0 / 2011-12-07
464
+
465
+ * 4 minor enhancements:
466
+
467
+ * Added TestCase.exclude and load_excludes for programmatic filtering of tests.
468
+ * Added guard methods so you can cleanly skip based on platform/impl
469
+ * Holy crap! 100% doco! `rdoc -C` ftw
470
+ * Switch assert_output to test stderr before stdout to possibly improve debugging
471
+
472
+ === 2.8.1 / 2011-11-17
473
+
474
+ * 1 bug fix:
475
+
476
+ * Ugh. 1.9's test/unit violates my internals. Added const_missing.
477
+
478
+ === 2.8.0 / 2011-11-08
479
+
480
+ * 2 minor enhancements:
481
+
482
+ * Add a method so that code can be run around a particular test case (tenderlove)
483
+ * Turn off backtrace filtering if we're running inside a ruby checkout. (drbrain)
484
+
485
+ * 2 bug fixes:
486
+
487
+ * Fixed 2 typos and 2 doc glitches. (splattael)
488
+ * Remove unused block arguments to avoid creating Proc objects. (k-tsj)
489
+
490
+ === 2.7.0 / 2011-10-25
491
+
492
+ * 2 minor enhancements:
493
+
494
+ * Include failed values in the expected arg output in MockExpectationError. (nono)
495
+ * Make minitest/pride work with other 256 color capable terms. (sunaku)
496
+
497
+ * 2 bug fixes:
498
+
499
+ * Clarified the documentation of minitest/benchmark (eregon)
500
+ * Fixed using expectations in regular unit tests. (sunaku)
501
+
502
+ === 2.6.2 / 2011-10-19
503
+
504
+ * 1 minor enhancement:
505
+
506
+ * Added link to vim bundle. (sunaku)
507
+
508
+ * 2 bug fixes:
509
+
510
+ * Force gem activation in hoe minitest plugin
511
+ * Support RUBY_VERSION='2.0.0' (nagachika)
512
+
513
+ === 2.6.1 / 2011-09-27
514
+
515
+ * 2 bug fixes:
516
+
517
+ * Alias Spec.name from Spec.to_s so it works when @name is nil (nathany)
518
+ * Fixed assert and refute_operator where second object has a bad == method.
519
+
520
+ === 2.6.0 / 2011-09-13
521
+
522
+ * 2 minor enhancements:
523
+
524
+ * Added specify alias for it and made desc optional.
525
+ * Spec#must_be and #wont_be can be used with predicates (metaskills)
526
+
527
+ * 1 bug fix:
528
+
529
+ * Fixed Mock.respond_to?(var) to work with strings. (holli)
530
+
531
+ === 2.5.1 / 2011-08-27 // ruby 1.9.3: p0, p125, p34579
532
+
533
+ * 2 minor enhancements:
534
+
535
+ * Added gem activation for minitest in minitest/autoload to help out 1.9 users
536
+ * Extended Spec.register_spec_type to allow for procs instead of just regexps.
537
+
538
+ === 2.5.0 / 2011-08-18
539
+
540
+ * 4 minor enhancements:
541
+
542
+ * Added 2 more arguments against rspec: let & subject in 9 loc! (emmanuel/luis)
543
+ * Added TestCase.i_suck_and_my_tests_are_order_dependent!
544
+ * Extended describe to take an optional method name (2 line change!). (emmanuel)
545
+ * Refactored and extended minitest/pride to do full 256 color support. (lolcat)
546
+
547
+ * 1 bug fix:
548
+
549
+ * Doc fixes. (chastell)
550
+
551
+ === 2.4.0 / 2011-08-09
552
+
553
+ * 4 minor enhancements:
554
+
555
+ * Added simple examples for all expectations.
556
+ * Improved Mock error output when args mismatch.
557
+ * Moved all expectations from Object to MiniTest::Expectations.
558
+ * infect_with_assertions has been removed due to excessive clever
559
+
560
+ * 4 bug fixes:
561
+
562
+ * Fix Assertions#mu_pp to deal with immutable encoded strings. (ferrous26)
563
+ * Fix minitest/pride for MacRuby (ferrous26)
564
+ * Made error output less fancy so it is more readable
565
+ * Mock shouldn't undef === and inspect. (dgraham)
566
+
567
+ === 2.3.1 / 2011-06-22
568
+
569
+ * 1 bug fix:
570
+
571
+ * Fixed minitest hoe plugin to be a spermy dep and not depend on itself.
572
+
573
+ === 2.3.0 / 2011-06-15
574
+
575
+ * 5 minor enhancements:
576
+
577
+ * Add setup and teardown hooks to MiniTest::TestCase. (phiggins)
578
+ * Added nicer error messages for MiniTest::Mock. (phiggins)
579
+ * Allow for less specific expected arguments in Mock. (bhenderson/phiggins)
580
+ * Made MiniTest::Mock a blank slate. (phiggins)
581
+ * Refactored minitest/spec to use the hooks instead of define_inheritable_method. (phiggins)
582
+
583
+ * 2 bug fixes:
584
+
585
+ * Fixed TestCase's inherited hook. (dchelimsky/phiggins/jamis, the 'good' neighbor)
586
+ * MiniTest::Assertions#refute_empty should use mu_pp in the default message. (whatthejeff)
587
+
588
+ === 2.2.2 / 2011-06-01
589
+
590
+ * 2 bug fixes:
591
+
592
+ * Got rid of the trailing period in message for assert_equal. (tenderlove)
593
+ * Windows needs more flushing. (Akio Tajima)
594
+
595
+ === 2.2.1 / 2011-05-31
596
+
597
+ * 1 bug fix:
598
+
599
+ * My _ONE_ non-rubygems-using minitest user goes to Seattle.rb!
600
+
601
+ === 2.2.0 / 2011-05-29
602
+
603
+ * 6 minor enhancements:
604
+
605
+ * assert_equal (and must_equal) now tries to diff output where it makes sense.
606
+ * Added Assertions#diff(exp, act) to be used by assert_equal.
607
+ * Added Assertions#mu_pp_for_diff
608
+ * Added Assertions.diff and diff=
609
+ * Moved minitest hoe-plugin from hoe-seattlerb. (erikh)
610
+ * Skipped tests only output details in verbose mode. (tenderlove+zenspider=xoxo)
611
+
612
+ === 2.1.0 / 2011-04-11
613
+
614
+ * 5 minor enhancements:
615
+
616
+ * Added MiniTest::Spec.register_spec_type(matcher, klass) and spec_type(desc)
617
+ * Added ability for specs to share code via subclassing of Spec. (metaskills)
618
+ * Clarified (or tried to) bench_performance_linear's use of threshold.
619
+ * MiniTest::Unit.runner=(runner) provides an easy way of creating custom test runners for specialized needs. (justinweiss)
620
+ * Reverse order of inheritance in teardowns of specs. (deepfryed)
621
+
622
+ * 3 bug fixes:
623
+
624
+ * FINALLY fixed problems of inheriting specs in describe/it/describe scenario. (MGPalmer)
625
+ * Fixed a new warning in 1.9.3.
626
+ * Fixed assert_block's message handling. (nobu)
627
+
628
+ === 2.0.2 / 2010-12-24
629
+
630
+ * 1 minor enhancement:
631
+
632
+ * Completed doco on minitest/benchmark for specs.
633
+
634
+ * 1 bug fix:
635
+
636
+ * Benchmarks in specs that didn't call bench_range would die. (zzak).
637
+
638
+ === 2.0.1 / 2010-12-15
639
+
640
+ * 4 minor enhancements:
641
+
642
+ * Do not filter backtrace if $DEBUG
643
+ * Exit autorun via nested at_exit handler, in case other libs call exit
644
+ * Make options accesor lazy.
645
+ * Split printing of test name and its time. (nurse)
646
+
647
+ * 1 bug fix:
648
+
649
+ * Fix bug when ^T is hit before runner start
650
+
651
+ === 2.0.0 / 2010-11-11
652
+
653
+ * 3 major enhancements:
654
+
655
+ * Added minitest/benchmark! Assert your performance! YAY!
656
+ * Refactored runner to allow for more extensibility. See minitest/benchmark.
657
+ * This makes the runner backwards incompatible in some ways!
658
+
659
+ * 9 minor enhancements:
660
+
661
+ * Added MiniTest::Unit.after_tests { ... }
662
+ * Improved output by adding test rates and a more sortable verbose format
663
+ * Improved readme based on feedback from others
664
+ * Added io method to TestCase. If used, it'll supplant '.EF' output.
665
+ * Refactored IO in MiniTest::Unit.
666
+ * Refactored _run_anything to _run_suite to make it easier to wrap (ngauthier)
667
+ * Spec class names are now the unmunged descriptions (btakita)
668
+ * YAY for not having redundant rdoc/readmes!
669
+ * Help output is now generated from the flags you passed straight up.
670
+
671
+ * 4 bug fixes:
672
+
673
+ * Fixed scoping issue on minitest/mock (srbaker/prosperity)
674
+ * Fixed some of the assertion default messages
675
+ * Fixes autorun when on windows with ruby install on different drive (larsch)
676
+ * Fixed rdoc output bug in spec.rb
677
+
678
+ === 1.7.2 / 2010-09-23
679
+
680
+ * 3 bug fixes:
681
+
682
+ * Fixed doco for expectations and Spec.
683
+ * Fixed test_capture_io on 1.9.3+ (sora_h)
684
+ * assert_raises now lets MiniTest::Skip through. (shyouhei)
685
+
686
+ === 1.7.1 / 2010-09-01
687
+
688
+ * 1 bug fix:
689
+
690
+ * 1.9.2 fixes for spec tests
691
+
692
+ === 1.7.0 / 2010-07-15
693
+
694
+ * 5 minor enhancements:
695
+
696
+ * Added assert_output (mapped to must_output).
697
+ * Added assert_silent (mapped to must_be_silent).
698
+ * Added examples to readme (Mike Dalessio)
699
+ * Added options output at the top of the run, for fatal run debugging (tenderlove)
700
+ * Spec's describe method returns created class
701
+
702
+ === 1.6.0 / 2010-03-27 // ruby 1.9.2-p290
703
+
704
+ * 10 minor enhancements:
705
+
706
+ * Added --seed argument so you can reproduce a random order for debugging.
707
+ * Added documentation for assertions
708
+ * Added more rdoc and tons of :nodoc:
709
+ * Added output to give you all the options you need to reproduce that run.
710
+ * Added proper argument parsing to minitest.
711
+ * Added unique serial # to spec names so order can be preserved (needs tests). (phrogz)
712
+ * Empty 'it' fails with default msg. (phrogz)
713
+ * Remove previous method on expect to remove 1.9 warnings
714
+ * Spec#it is now order-proof wrt subclasses/nested describes.
715
+ * assert_same error message now reports in decimal, eg: oid=123. (mattkent)
716
+
717
+ * 2 bug fixes:
718
+
719
+ * Fixed message on refute_same to be consistent with assert_same.
720
+ * Fixed method randomization to be stable for testing.
721
+
722
+ === 1.5.0 / 2010-01-06
723
+
724
+ * 4 minor enhancements:
725
+
726
+ * Added ability to specify what assertions should have their args flipped.
727
+ * Don't flip arguments on *include and *respond_to assertions.
728
+ * Refactored Module.infect_an_assertion from Module.infect_with_assertions.
729
+ * before/after :all now bitches and acts like :each
730
+
731
+ * 3 bug fixes:
732
+
733
+ * Nested describes now map to nested test classes to avoid namespace collision.
734
+ * Using undef_method instead of remove_method to clean out inherited specs.
735
+ * assert_raises was ignoring passed in message.
736
+
737
+ === 1.4.2 / 2009-06-25
738
+
739
+ * 1 bug fix:
740
+
741
+ * Fixed info handler for systems that don't have siginfo.
742
+
743
+ === 1.4.1 / 2009-06-23
744
+
745
+ * 1 major enhancement:
746
+
747
+ * Handle ^C and other fatal exceptions by failing
748
+
749
+ * 1 minor enhancement:
750
+
751
+ * Added something to catch mixed use of test/unit and minitest if $DEBUG
752
+
753
+ * 1 bug fix:
754
+
755
+ * Added SIGINFO handler for finding slow tests without verbose
756
+
757
+ === 1.4.0 / 2009-06-18
758
+
759
+ * 5 minor enhancement:
760
+
761
+ * Added clarification doco.
762
+ * Added specs and mocks to autorun.
763
+ * Changed spec test class creation to be non-destructive.
764
+ * Updated rakefile for new hoe capabilities.
765
+ * describes are nestable (via subclass). before/after/def inherits, specs don't.
766
+
767
+ * 3 bug fixes:
768
+
769
+ * Fixed location on must/wont.
770
+ * Switched to __name__ to avoid common ivar name.
771
+ * Fixed indentation in test file (1.9).
772
+
773
+ === 1.3.1 / 2009-01-20 // ruby 1.9.1-p431
774
+
775
+ * 1 minor enhancement:
776
+
777
+ * Added miniunit/autorun.rb as replacement for test/unit.rb's autorun.
778
+
779
+ * 16 bug fixes:
780
+
781
+ * 1.9 test fixes.
782
+ * Bug fixes from nobu and akira for really odd scenarios. They run ruby funny.
783
+ * Fixed (assert|refute)_match's argument order.
784
+ * Fixed LocalJumpError in autorun if exception thrown before at_exit.
785
+ * Fixed assert_in_delta (should be >=, not >).
786
+ * Fixed assert_raises to match Modules.
787
+ * Fixed capture_io to not dup IOs.
788
+ * Fixed indentation of capture_io for ruby 1.9 warning.
789
+ * Fixed location to deal better with custom assertions and load paths. (Yuki)
790
+ * Fixed order of (must|wont)_include in MiniTest::Spec.
791
+ * Fixed skip's backtrace.
792
+ * Got arg order wrong in *_match in tests, message wrong as a result.
793
+ * Made describe private. For some reason I thought that an attribute of Kernel.
794
+ * Removed disable_autorun method, added autorun.rb instead.
795
+ * assert_match escapes if passed string for pattern.
796
+ * instance_of? is different from ===, use instance_of.
797
+
798
+ === 1.3.0 / 2008-10-09
799
+
800
+ * 2 major enhancements:
801
+
802
+ * renamed to minitest and pulled out test/unit compatibility.
803
+ * mini/test.rb is now minitest/unit.rb, everything else maps directly.
804
+
805
+ * 12 minor enhancements:
806
+
807
+ * assert_match now checks that act can call =~ and converts exp to a
808
+ regexp only if needed.
809
+ * Added assert_send... seems useless to me tho.
810
+ * message now forces to string... ruby-core likes to pass classes and arrays :(
811
+ * Added -v handling and switched to @verbose from $DEBUG.
812
+ * Verbose output now includes test class name and adds a sortable running time!
813
+ * Switched message generation into procs for message deferment.
814
+ * Added skip and renamed fail to flunk.
815
+ * Improved output failure messages for assert_instance_of, assert_kind_of
816
+ * Improved output for assert_respond_to, assert_same.
817
+ * at_exit now exits false instead of errors+failures.
818
+ * Made the tests happier and more readable imhfo.
819
+ * Switched index(s) == 0 to rindex(s, 0) on nobu's suggestion. Faster.
820
+
821
+ * 5 bug fixes:
822
+
823
+ * 1.9: Added encoding normalization in mu_pp.
824
+ * 1.9: Fixed backtrace filtering (BTs are expanded now)
825
+ * Added back exception_details to assert_raises. DOH.
826
+ * Fixed shadowed variable in mock.rb
827
+ * Fixed stupid muscle memory message bug in assert_send.
828
+
829
+ === 1.2.1 / 2008-06-10
830
+
831
+ * 7 minor enhancements:
832
+
833
+ * Added deprecations everywhere in test/unit.
834
+ * Added test_order to TestCase. :random on mini, :sorted on test/unit (for now).
835
+ * Big cleanup in test/unit for rails. Thanks Jeremy Kemper!
836
+ * Minor readability cleanup.
837
+ * Pushed setup/run/teardown down to testcase allowing specialized testcases.
838
+ * Removed pp. Tests run 2x faster. :/
839
+ * Renamed deprecation methods and moved to test/unit/deprecate.rb.
840
+
841
+ === 1.2.0 / 2008-06-09
842
+
843
+ * 2 major enhancements:
844
+
845
+ * Added Mini::Spec.
846
+ * Added Mini::Mock. Thanks Steven Baker!!
847
+
848
+ * 23 minor enhancements:
849
+
850
+ * Added bin/use_miniunit to make it easy to test out miniunit.
851
+ * Added -n filtering, thanks to Phil Hagelberg!
852
+ * Added args argument to #run, takes ARGV from at_exit.
853
+ * Added test name output if $DEBUG.
854
+ * Added a refute (was deny) for every assert.
855
+ * Added capture_io and a bunch of nice assertions from zentest.
856
+ * Added deprecation mechanism for assert_no/not methods to test/unit/assertions.
857
+ * Added pp output when available.
858
+ * Added tests for all assertions. Pretty much maxed out coverage.
859
+ * Added tests to verify consistency and good naming.
860
+ * Aliased and deprecated all ugly assertions.
861
+ * Cleaned out test/unit. Moved autorun there.
862
+ * Code cleanup to make extensions easier. Thanks Chad!
863
+ * Got spec args reversed in all but a couple assertions. Much more readable.
864
+ * Improved error messages across the board. Adds your message to the default.
865
+ * Moved into Mini namespace, renamed to Mini::Test and Mini::Spec.
866
+ * Pulled the assertions into their own module...
867
+ * Removed as much code as I could while still maintaining full functionality.
868
+ * Moved filter_backtrace into MiniTest.
869
+ * Removed MiniTest::Unit::run. Unnecessary.
870
+ * Removed location_of_failure. Unnecessary.
871
+ * Rewrote test/unit's filter_backtrace. Flog from 37.0 to 18.1
872
+ * Removed assert_send. Google says it is never used.
873
+ * Renamed MiniTest::Unit.autotest to #run.
874
+ * Renamed deny to refute.
875
+ * Rewrote some ugly/confusing default assertion messages.
876
+ * assert_in_delta now defaults to 0.001 precision. Makes specs prettier.
877
+
878
+ * 9 bug fixes:
879
+
880
+ * Fixed assert_raises to raise outside of the inner-begin/rescue.
881
+ * Fixed for ruby 1.9 and rubinius.
882
+ * No longer exits 0 if exception in code PRE-test run causes early exit.
883
+ * Removed implementors method list from mini/test.rb - too stale.
884
+ * assert_nothing_raised takes a class as an arg. wtf? STUPID
885
+ * ".EF" output is now unbuffered.
886
+ * Bunch of changes to get working with rails... UGH.
887
+ * Added stupid hacks to deal with rails not requiring their dependencies.
888
+ * Now bitch loudly if someone defines one of my classes instead of requiring.
889
+ * Fixed infect method to work better on 1.9.
890
+ * Fixed all shadowed variable warnings in 1.9.
891
+
892
+ === 1.1.0 / 2007-11-08
893
+
894
+ * 4 major enhancements:
895
+
896
+ * Finished writing all missing assertions.
897
+ * Output matches original test/unit.
898
+ * Documented every method needed by language implementor.
899
+ * Fully switched over to self-testing setup.
900
+
901
+ * 2 minor enhancements:
902
+
903
+ * Added deny (assert ! test), our favorite extension to test/unit.
904
+ * Added .autotest and fairly complete unit tests. (thanks Chad for help here)
905
+
906
+ === 1.0.0 / 2006-10-30
907
+
908
+ * 1 major enhancement
909
+
910
+ * Birthday!
911
+