Skip to content
This repository
tree: d0936aa04a
Fetching contributors…

Cannot retrieve contributors at this time

file 604 lines (393 sloc) 19.048 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604
=== 3.3.0 / 2012-07-26

* 1 major enhancement:

  * Deprecated add_(setup|teardown)_hook in favor of (before|after)_(setup|teardown) [2013-01-01]

* 4 minor enhancements:

  * Refactored deprecated hook system into a module.
  * Refactored lifecycle hooks into a module.
  * Removed after_setup/before_teardown + run_X_hooks from Spec.
  * Spec#before/after now do a simple define_method and call super. DUR.

* 2 bug fixes:

  * Fixed #passed? when used against a test that called flunk. (floehopper)
  * Fixed rdoc bug preventing doco for some expectations. (stomar).

=== 3.2.0 / 2012-06-26

* 1 minor enhancement:

  * Stubs now yield self. (peterhellberg)

* 1 bug fix:

  * Fixed verbose test that only fails when run in verbose mode. mmmm irony.

=== 3.1.0 / 2012-06-13

* 2 minor enhancements:

  * Removed LONG deprecated Unit.out accessor
  * Removed generated method name munging from minitest/spec. (ordinaryzelig/tenderlove)

=== 3.0.1 / 2012-05-24

* 1 bug fix:

  * I'm a dumbass and refactored into Mock#call. Renamed to #__call so you can mock #call. (mschuerig)

=== 3.0.0 / 2012-05-08

* 3 major enhancements:

  * Added Object#stub (in minitest/mock.rb).
  * Mock#expect mocks are used in the order they're given.
  * Mock#verify now strictly compares against expect calls.

* 3 minor enhancements:

  * Added caller to deprecation message.
  * Mock error messages are much prettier.
  * Removed String check for RHS of assert/refute_match. This lets #to_str work properly.

* 1 bug fix:

  * Support drive letter on Windows. Patch provided from MRI by Usaku NAKAMURA. (ayumin)

=== 2.12.1 / 2012-04-10

* 1 minor enhancement:

  * Added ruby releases to History.txt to make it easier to see what you're missing

* 1 bug fix:

  * Rolled my own deprecate msg to allow MT to work with rubygems < 1.7

=== 2.12.0 / 2012-04-03

* 4 minor enhancements:

  * ::it returns test method name (wojtekmach)
  * Added #record method to runner so runner subclasses can cleanly gather data.
  * Added Minitest alias for MiniTest because even I forget.
  * Deprecated assert_block!! Yay!!!

* 1 bug fix:

  * Fixed warning in i_suck_and_my_tests_are_order_dependent! (phiggins)

=== 2.11.4 / 2012-03-20

* 2 minor enhancements:

  * Updated known extensions
  * You got your unicode in my tests! You got your tests in my unicode! (fl00r)

* 1 bug fix:

  * Fixed MiniTest::Mock example in the readme. (conradwt)

=== 2.11.3 / 2012-02-29

* 2 bug fixes:

  * Clarified that assert_raises returns the exception for further testing
  * Fixed assert_in_epsilon when both args are negative. (tamc)

=== 2.11.2 / 2012-02-14

* 1 minor enhancement:

  * Display failures/errors on SIGINFO. (tenderlove)

* 1 bug fix:

  * Fixed MiniTest::Unit.after_tests for Ruby 1.9.3. (ysbaddaden)

=== 2.11.1 / 2012-02-01

* 3 bug fixes:

  * Improved description for --name argument. (drd)
  * Ensure Mock#expect's expected args is an Array. (mperham)
  * Ensure Mock#verify verifies multiple expects of the same method. (chastell)

=== 2.11.0 / 2012-01-25

* 2 minor enhancements:

  * Added before / after hooks for setup and teardown. (tenderlove)
  * Pushed run_setup_hooks down to Spec. (tenderlove)

=== 2.10.1 / 2012-01-17

* 1 bug fix:

  * Fixed stupid 1.9 path handling grumble grumble. (graaff)

=== 2.10.0 / 2011-12-20

* 3 minor enhancements:

  * Added specs for must/wont be_empty/respond_to/be_kind_of and others.
  * Added tests for assert/refute predicate.
  * Split minitest/excludes.rb out to its own gem.

* 1 bug fix:

  * Fixed must_be_empty and wont_be_empty argument handling. (mrsimo)

=== 2.9.1 / 2011-12-13

* 4 minor enhancements:

  * Added a ton of tests on spec error message output.
  * Cleaned up consistency of msg handling on unary expectations.
  * Improved error messages on assert/refute_in_delta.
  * infect_an_assertion no longer checks arity and better handles args.

* 1 bug fix:

  * Fixed error message on specs when 2+ args and custom message provided. (chastell)

=== 2.9.0 / 2011-12-07

* 4 minor enhancements:

  * Added TestCase.exclude and load_excludes for programmatic filtering of tests.
  * Added guard methods so you can cleanly skip based on platform/impl
  * Holy crap! 100% doco! `rdoc -C` ftw
  * Switch assert_output to test stderr before stdout to possibly improve debugging

=== 2.8.1 / 2011-11-17

* 1 bug fix:

  * Ugh. 1.9's test/unit violates my internals. Added const_missing.

=== 2.8.0 / 2011-11-08

* 2 minor enhancements:

  * Add a method so that code can be run around a particular test case (tenderlove)
  * Turn off backtrace filtering if we're running inside a ruby checkout. (drbrain)

* 2 bug fixes:

  * Fixed 2 typos and 2 doc glitches. (splattael)
  * Remove unused block arguments to avoid creating Proc objects. (k-tsj)

=== 2.7.0 / 2011-10-25

* 2 minor enhancements:

  * Include failed values in the expected arg output in MockExpectationError. (nono)
  * Make minitest/pride work with other 256 color capable terms. (sunaku)

* 2 bug fixes:

  * Clarified the documentation of minitest/benchmark (eregon)
  * Fixed using expectations in regular unit tests. (sunaku)

=== 2.6.2 / 2011-10-19

* 1 minor enhancement:

  * Added link to vim bundle. (sunaku)

* 2 bug fixes:

  * Force gem activation in hoe minitest plugin
  * Support RUBY_VERSION='2.0.0' (nagachika)

=== 2.6.1 / 2011-09-27

* 2 bug fixes:

  * Alias Spec.name from Spec.to_s so it works when @name is nil (nathany)
  * Fixed assert and refute_operator where second object has a bad == method.

=== 2.6.0 / 2011-09-13

* 2 minor enhancements:

  * Added specify alias for it and made desc optional.
  * Spec#must_be and #wont_be can be used with predicates (metaskills)

* 1 bug fix:

  * Fixed Mock.respond_to?(var) to work with strings. (holli)

=== 2.5.1 / 2011-08-27 // ruby 1.9.3: p0, p125, p34579

* 2 minor enhancements:

  * Added gem activation for minitest in minitest/autoload to help out 1.9 users
  * Extended Spec.register_spec_type to allow for procs instead of just regexps.

=== 2.5.0 / 2011-08-18

* 4 minor enhancements:

  * Added 2 more arguments against rspec: let & subject in 9 loc! (emmanuel/luis)
  * Added TestCase.i_suck_and_my_tests_are_order_dependent!
  * Extended describe to take an optional method name (2 line change!). (emmanuel)
  * Refactored and extended minitest/pride to do full 256 color support. (lolcat)

* 1 bug fix:

  * Doc fixes. (chastell)

=== 2.4.0 / 2011-08-09

* 4 minor enhancements:

  * Added simple examples for all expectations.
  * Improved Mock error output when args mismatch.
  * Moved all expectations from Object to MiniTest::Expectations.
  * infect_with_assertions has been removed due to excessive clever

* 4 bug fixes:

  * Fix Assertions#mu_pp to deal with immutable encoded strings. (ferrous26)
  * Fix minitest/pride for MacRuby (ferrous26)
  * Made error output less fancy so it is more readable
  * Mock shouldn't undef === and inspect. (dgraham)

=== 2.3.1 / 2011-06-22

* 1 bug fix:

  * Fixed minitest hoe plugin to be a spermy dep and not depend on itself.

=== 2.3.0 / 2011-06-15

* 5 minor enhancements:

  * Add setup and teardown hooks to MiniTest::TestCase. (phiggins)
  * Added nicer error messages for MiniTest::Mock. (phiggins)
  * Allow for less specific expected arguments in Mock. (bhenderson/phiggins)
  * Made MiniTest::Mock a blank slate. (phiggins)
  * Refactored minitest/spec to use the hooks instead of define_inheritable_method. (phiggins)

* 2 bug fixes:

  * Fixed TestCase's inherited hook. (dchelimsky/phiggins/jamis, the 'good' neighbor)
  * MiniTest::Assertions#refute_empty should use mu_pp in the default message. (whatthejeff)

=== 2.2.2 / 2011-06-01

* 2 bug fixes:

  * Got rid of the trailing period in message for assert_equal. (tenderlove)
  * Windows needs more flushing. (Akio Tajima)

=== 2.2.1 / 2011-05-31

* 1 bug fix:

  * My _ONE_ non-rubygems-using minitest user goes to Seattle.rb!

=== 2.2.0 / 2011-05-29

* 6 minor enhancements:

  * assert_equal (and must_equal) now tries to diff output where it makes sense.
    * Added Assertions#diff(exp, act) to be used by assert_equal.
    * Added Assertions#mu_pp_for_diff
    * Added Assertions.diff and diff=
  * Moved minitest hoe-plugin from hoe-seattlerb. (erikh)
  * Skipped tests only output details in verbose mode. (tenderlove+zenspider=xoxo)

=== 2.1.0 / 2011-04-11

* 5 minor enhancements:

  * Added MiniTest::Spec.register_spec_type(matcher, klass) and spec_type(desc)
  * Added ability for specs to share code via subclassing of Spec. (metaskills)
  * Clarified (or tried to) bench_performance_linear's use of threshold.
  * MiniTest::Unit.runner=(runner) provides an easy way of creating custom test runners for specialized needs. (justinweiss)
  * Reverse order of inheritance in teardowns of specs. (deepfryed)

* 3 bug fixes:

  * FINALLY fixed problems of inheriting specs in describe/it/describe scenario. (MGPalmer)
  * Fixed a new warning in 1.9.3.
  * Fixed assert_block's message handling. (nobu)

=== 2.0.2 / 2010-12-24

* 1 minor enhancement:

  * Completed doco on minitest/benchmark for specs.

* 1 bug fix:

  * Benchmarks in specs that didn't call bench_range would die. (zzak).

=== 2.0.1 / 2010-12-15

* 4 minor enhancements:

  * Do not filter backtrace if $DEBUG
  * Exit autorun via nested at_exit handler, in case other libs call exit
  * Make options accesor lazy.
  * Split printing of test name and its time. (nurse)

* 1 bug fix:

  * Fix bug when ^T is hit before runner start

=== 2.0.0 / 2010-11-11

* 3 major enhancements:

  * Added minitest/benchmark! Assert your performance! YAY!
  * Refactored runner to allow for more extensibility. See minitest/benchmark.
  * This makes the runner backwards incompatible in some ways!

* 9 minor enhancements:

  * Added MiniTest::Unit.after_tests { ... }
  * Improved output by adding test rates and a more sortable verbose format
  * Improved readme based on feedback from others
  * Added io method to TestCase. If used, it'll supplant '.EF' output.
  * Refactored IO in MiniTest::Unit.
  * Refactored _run_anything to _run_suite to make it easier to wrap (ngauthier)
  * Spec class names are now the unmunged descriptions (btakita)
  * YAY for not having redundant rdoc/readmes!
  * Help output is now generated from the flags you passed straight up.

* 4 bug fixes:

  * Fixed scoping issue on minitest/mock (srbaker/prosperity)
  * Fixed some of the assertion default messages
  * Fixes autorun when on windows with ruby install on different drive (larsch)
  * Fixed rdoc output bug in spec.rb

=== 1.7.2 / 2010-09-23

* 3 bug fixes:

  * Fixed doco for expectations and Spec.
  * Fixed test_capture_io on 1.9.3+ (sora_h)
  * assert_raises now lets MiniTest::Skip through. (shyouhei)

=== 1.7.1 / 2010-09-01

* 1 bug fix:

  * 1.9.2 fixes for spec tests

=== 1.7.0 / 2010-07-15

* 5 minor enhancements:

  * Added assert_output (mapped to must_output).
  * Added assert_silent (mapped to must_be_silent).
  * Added examples to readme (Mike Dalessio)
  * Added options output at the top of the run, for fatal run debugging (tenderlove)
  * Spec's describe method returns created class

=== 1.6.0 / 2010-03-27 // ruby 1.9.2-p290

* 10 minor enhancements:

  * Added --seed argument so you can reproduce a random order for debugging.
  * Added documentation for assertions
  * Added more rdoc and tons of :nodoc:
  * Added output to give you all the options you need to reproduce that run.
  * Added proper argument parsing to minitest.
  * Added unique serial # to spec names so order can be preserved (needs tests). (phrogz)
  * Empty 'it' fails with default msg. (phrogz)
  * Remove previous method on expect to remove 1.9 warnings
  * Spec#it is now order-proof wrt subclasses/nested describes.
  * assert_same error message now reports in decimal, eg: oid=123. (mattkent)

* 2 bug fixes:

  * Fixed message on refute_same to be consistent with assert_same.
  * Fixed method randomization to be stable for testing.

=== 1.5.0 / 2010-01-06

* 4 minor enhancements:

  * Added ability to specify what assertions should have their args flipped.
  * Don't flip arguments on *include and *respond_to assertions.
  * Refactored Module.infect_an_assertion from Module.infect_with_assertions.
  * before/after :all now bitches and acts like :each

* 3 bug fixes:

  * Nested describes now map to nested test classes to avoid namespace collision.
  * Using undef_method instead of remove_method to clean out inherited specs.
  * assert_raises was ignoring passed in message.

=== 1.4.2 / 2009-06-25

* 1 bug fix:

  * Fixed info handler for systems that don't have siginfo.

=== 1.4.1 / 2009-06-23

* 1 major enhancement:

  * Handle ^C and other fatal exceptions by failing

* 1 minor enhancement:

  * Added something to catch mixed use of test/unit and minitest if $DEBUG

* 1 bug fix:

  * Added SIGINFO handler for finding slow tests without verbose

=== 1.4.0 / 2009-06-18

* 5 minor enhancement:

  * Added clarification doco.
  * Added specs and mocks to autorun.
  * Changed spec test class creation to be non-destructive.
  * Updated rakefile for new hoe capabilities.
  * describes are nestable (via subclass). before/after/def inherits, specs don't.

* 3 bug fixes:

  * Fixed location on must/wont.
  * Switched to __name__ to avoid common ivar name.
  * Fixed indentation in test file (1.9).

=== 1.3.1 / 2009-01-20 // ruby 1.9.1-p431

* 1 minor enhancement:

  * Added miniunit/autorun.rb as replacement for test/unit.rb's autorun.

* 16 bug fixes:

  * 1.9 test fixes.
  * Bug fixes from nobu and akira for really odd scenarios. They run ruby funny.
  * Fixed (assert|refute)_match's argument order.
  * Fixed LocalJumpError in autorun if exception thrown before at_exit.
  * Fixed assert_in_delta (should be >=, not >).
  * Fixed assert_raises to match Modules.
  * Fixed capture_io to not dup IOs.
  * Fixed indentation of capture_io for ruby 1.9 warning.
  * Fixed location to deal better with custom assertions and load paths. (Yuki)
  * Fixed order of (must|wont)_include in MiniTest::Spec.
  * Fixed skip's backtrace.
  * Got arg order wrong in *_match in tests, message wrong as a result.
  * Made describe private. For some reason I thought that an attribute of Kernel.
  * Removed disable_autorun method, added autorun.rb instead.
  * assert_match escapes if passed string for pattern.
  * instance_of? is different from ===, use instance_of.

=== 1.3.0 / 2008-10-09

* 2 major enhancements:

  * renamed to minitest and pulled out test/unit compatibility.
  * mini/test.rb is now minitest/unit.rb, everything else maps directly.

* 12 minor enhancements:

  * assert_match now checks that act can call =~ and converts exp to a
    regexp only if needed.
  * Added assert_send... seems useless to me tho.
  * message now forces to string... ruby-core likes to pass classes and arrays :(
  * Added -v handling and switched to @verbose from $DEBUG.
  * Verbose output now includes test class name and adds a sortable running time!
  * Switched message generation into procs for message deferment.
  * Added skip and renamed fail to flunk.
  * Improved output failure messages for assert_instance_of, assert_kind_of
  * Improved output for assert_respond_to, assert_same.
  * at_exit now exits false instead of errors+failures.
  * Made the tests happier and more readable imhfo.
  * Switched index(s) == 0 to rindex(s, 0) on nobu's suggestion. Faster.

* 5 bug fixes:

  * 1.9: Added encoding normalization in mu_pp.
  * 1.9: Fixed backtrace filtering (BTs are expanded now)
  * Added back exception_details to assert_raises. DOH.
  * Fixed shadowed variable in mock.rb
  * Fixed stupid muscle memory message bug in assert_send.

=== 1.2.1 / 2008-06-10

* 7 minor enhancements:

  * Added deprecations everywhere in test/unit.
  * Added test_order to TestCase. :random on mini, :sorted on test/unit (for now).
  * Big cleanup in test/unit for rails. Thanks Jeremy Kemper!
  * Minor readability cleanup.
  * Pushed setup/run/teardown down to testcase allowing specialized testcases.
  * Removed pp. Tests run 2x faster. :/
  * Renamed deprecation methods and moved to test/unit/deprecate.rb.

=== 1.2.0 / 2008-06-09

* 2 major enhancements:

  * Added Mini::Spec.
  * Added Mini::Mock. Thanks Steven Baker!!

* 23 minor enhancements:

  * Added bin/use_miniunit to make it easy to test out miniunit.
  * Added -n filtering, thanks to Phil Hagelberg!
  * Added args argument to #run, takes ARGV from at_exit.
  * Added test name output if $DEBUG.
  * Added a refute (was deny) for every assert.
  * Added capture_io and a bunch of nice assertions from zentest.
  * Added deprecation mechanism for assert_no/not methods to test/unit/assertions.
  * Added pp output when available.
  * Added tests for all assertions. Pretty much maxed out coverage.
  * Added tests to verify consistency and good naming.
  * Aliased and deprecated all ugly assertions.
  * Cleaned out test/unit. Moved autorun there.
  * Code cleanup to make extensions easier. Thanks Chad!
  * Got spec args reversed in all but a couple assertions. Much more readable.
  * Improved error messages across the board. Adds your message to the default.
  * Moved into Mini namespace, renamed to Mini::Test and Mini::Spec.
  * Pulled the assertions into their own module...
  * Removed as much code as I could while still maintaining full functionality.
    * Moved filter_backtrace into MiniTest.
    * Removed MiniTest::Unit::run. Unnecessary.
    * Removed location_of_failure. Unnecessary.
    * Rewrote test/unit's filter_backtrace. Flog from 37.0 to 18.1
  * Removed assert_send. Google says it is never used.
  * Renamed MiniTest::Unit.autotest to #run.
  * Renamed deny to refute.
  * Rewrote some ugly/confusing default assertion messages.
  * assert_in_delta now defaults to 0.001 precision. Makes specs prettier.

* 9 bug fixes:

  * Fixed assert_raises to raise outside of the inner-begin/rescue.
  * Fixed for ruby 1.9 and rubinius.
  * No longer exits 0 if exception in code PRE-test run causes early exit.
  * Removed implementors method list from mini/test.rb - too stale.
  * assert_nothing_raised takes a class as an arg. wtf? STUPID
  * ".EF" output is now unbuffered.
  * Bunch of changes to get working with rails... UGH.
    * Added stupid hacks to deal with rails not requiring their dependencies.
    * Now bitch loudly if someone defines one of my classes instead of requiring.
  * Fixed infect method to work better on 1.9.
  * Fixed all shadowed variable warnings in 1.9.

=== 1.1.0 / 2007-11-08

* 4 major enhancements:

  * Finished writing all missing assertions.
  * Output matches original test/unit.
  * Documented every method needed by language implementor.
  * Fully switched over to self-testing setup.

* 2 minor enhancements:

  * Added deny (assert ! test), our favorite extension to test/unit.
  * Added .autotest and fairly complete unit tests. (thanks Chad for help here)

=== 1.0.0 / 2006-10-30

* 1 major enhancement

  * Birthday!
Something went wrong with that request. Please try again.