= RSpec Changelog == Version 0.6.2 This release fixes a couple of regressions with the rake task that were introduced in the previous version (0.6.1) * Fixed [#5518] ruby -w: warnings in 0.6.1 * Applied [#5525] fix rake task path to spec tool for gem-installed rspec (patch from Riley Lynch) * Fixed a teensey regression with the rake task - introduced in 0.6.1. The spec command is now quoted so it works on windows. == Version 0.6.1 This is the "fix the most annoying bugs release" of RSpec. There are 9 bugfixes this time. Things that may break backwards compatibility: 1) Spec::Rake::SpecTask no longer has the options attribute. Use ruby_opts, spec_opts and rcov_opts instead. * Fixed [#4891] RCOV task failing on windows * Fixed [#4896] Shouldn't modify user's $LOAD_PATH (Tip from Gavin Sinclair) * Fixed [#5369] ruby -w: warnings in RSpec 0.5.16 (Tip from Suraj Kurapati) * Applied [#5141] SpecMatcher doesn't escape strings before matching (Patch from Nikolai Weibull). * Fixed [#5224] Move 'require diff-lcs' from test_helper.rb to diff_test.rb (Tip from Chris Roos) * Applied [#5449] Rake stats for specs (Patch from Nick Sieger) * Applied [#5468, #5058] Fix spec runner to correctly run controller specs (Patch from Daniel Siemssen) * Applied fixes to rails_spec_runner to improve its ability to run several times. (Patch from Daniel Siemssen) * Changed RCov::VerifyTask to fail if the coverage is above the threshold. This is to ensure it gets bumped when coverage improves. == Version 0.6.0 This release makes an official commitment to underscore_syntax (with no more support for dot.syntax) * Fixed bug (5292) that caused mock argument matching to fail * Converted ALL tests to use underscore syntax * Fixed all remaining problems with underscores revealed by converting all the tests to underscores * Enhanced sugar to support combinations of methods (i.e. once.and_return) * Simplified helper structure taking advantage of dot/underscore combos (i.e. should.be.an_instance_of, which can be expressed as should_be_an_instance_of) * Added support for at_most in mocks * Added support for should_not_receive(:msg) (will be removing should_receive(:msg).never some time soon) * Added support for should_have_exactly(5).items_in_collection == Version 0.5.16 This release improves Rails support and test2spec translation. * Fixed underscore problems that occurred when RSpec was used in Rails * Simplified the Rails support by packaging it as a plugin instead of a generator gem. * Fixed [#5063] 'rspec_on_rails' require line in spec_helper.rb * Added pre_commit rake task to reduce risk of regressions. Useful for rspec developers and patchers. * Added failure_message to RSpec Rake task * test2spec now defines converted helper methods outside of the setup block (bug #5057). == Version 0.5.15 This release removes a prematurely added feature that shouldn't have been added. * Removed support for differences that was added in 0.5.14. The functionality is not aligned with RSpec's vision. == Version 0.5.14 This release introduces better ways to extend specs, improves some of the core API and a experimental support for faster rails specs. * Added proc methods for specifying differences (increments and decrements). See difference_test.rb * Methods can now be defined alongside specs. This obsoletes the need for defining methods in setup. (Patch #5002 from Brian Takita) * Sugar (underscores) now works correctly with should_be_a_kind_of and should_be_an_instance_of * Added support for include and inherit in contexts. (Patch #4971 from Brian Takita) * Added rails_spec and rails_spec_runner for faster specs on rails (still buggy - help needed) * Fixed bug that caused should_render to break if given a :symbol (in Rails) * Added support for comparing exception message in should_raise and should_not_raise == Version 0.5.13 This release fixes some subtle bugs in the mock API. * Use fully-qualified class name of Exceptions in failure message. Easier to debug that way. * Fixed a bug that caused mocks to yield a one-element array (rather than the element) when one yield arg specified. * Mocks not raise AmbiguousReturnError if an explicit return is used at the same time as an expectation block. * Blocks passed to yielding mocks can now raise without causing mock verification to fail. == Version 0.5.12 This release adds diff support for failure messages, a HTML formatter plus some other minor enhancements. * Added HTML formatter. * Added fail_on_error option to spectask. * Added support for diffing, using the diff-lcs Rubygem (#2648). * Remove RSpec on Rails files from backtrace (#4694). * All of RSpec's own tests run successfully after translation with test2spec. * Added --verbose mode for test2spec - useful for debugging when classes fail to translate. * Output of various formatters is now flushed - to get more continuous output. == Version 0.5.11 This release makes test2spec usable with Rails (with some manual steps). See http://rspec.rubyforge.org/tools/rails.html for more details * test2spec now correctly translates bodies of helper methods (non- test_*, setup and teardown ones). * Added more documentation about how to get test2spec to work with Rails. == Version 0.5.10 This version features a second rewrite of test2spec - hopefully better than the previous one. * Improved test2spec's internals. It now transforms the syntax tree before writing out the code. == Version 0.5.9 This release improves test2spec by allowing more control over the output * Added --template option to test2spec, which allows for custom output driven by ERB * Added --quiet option to test2spec * Removed unnecessary dependency on RubyToC == Version 0.5.8 This release features a new Test::Unit to RSpec translation tool. Also note that the RubyGem of the previous release (0.5.7) was corrupt. We're close to being able to translate all of RSpec's own Test::Unit tests and have them run successfully! * Updated test2spec documentation. * Replaced old test2rspec with a new test2spec, which is based on ParseTree and RubyInline. == Version 0.5.7 This release changes examples and documentation to recommend underscores rather than dots, and addresses some bugfixes and changes to the spec commandline. * spec DIR now works correctly, recursing down and slurping all *.rb files * All documentation and examples are now using '_' instead of '.' * Custom external formatters can now be specified via --require and --format. == Version 0.5.6 This release fixes a bug in the Rails controller generator * The controller generator did not write correct source code (missing 'do'). Fixed. == Version 0.5.5 This release adds initial support for Ruby on Rails in the rspec_generator gem. * [Rails] Reorganised Lachie's original code to be a generator packaged as a gem rather than a plugin. * [Rails] Imported code from http://lachie.info/svn/projects/rails_plugins/rspec_on_rails (Written by Lachie Cox) * Remove stack trace lines from TextMate's Ruby bundle * Better error message from spectask when no spec files are found. == Version 0.5.4 The "the tutorial is ahead of the gem" release * Support for running a single spec with --spec * Exitcode is now 1 unless all specs pass, in which case it's 0. * -v, --version now both mean the same thing * For what was verbose output (-v), use --format specdoc or -f s * --format rdoc always runs in dry-run mode * Removed --doc and added --format and --dry-run * Refactored towards more pluggable formatters * Use webgen's execute tag when generating website (more accurate) * Fixed incorrect quoting of spec_opts in SpecTask * Added patch to enable underscored shoulds like 1.should_equal(1) - patch from Rich Kilmer * Removed most inherited instance method from Mock, making more methods mockable. * Made the RCovVerify task part of the standard toolset. * Documented Rake task and how to use it with Rcov * Implemented tags for website (hooking into ERB, RedCloth and syntax) * RSpec Rake task now takes spec_opts and out params so it can be used for doc generation * RCov integration for RSpec Rake task (#4058) * Group all results instead of printing them several times (#4057) * Mocks can now yield * Various improvements to error reporting (including #4191) * backtrace excludes rspec code - use -b to include it * split examples into examples (passing) and failing_examples == Version 0.5.3 The "hurry up, CoR is in two days" release. * Don't run rcov by default * Make separate task for running tests with RCov * Added Rake task to fail build if coverage drops below a certain threshold * Even more failure output cleanup (simplification) * Added duck_type constraint for mocks == Version 0.5.2 This release has minor improvements to the commandline and fixes some gem warnings * Readded README to avoid RDoc warnings * Added --version switch to commandline * More changes to the mock API == Version 0.5.1 This release is the first release of RSpec with a new website. It will look better soon. * Added initial documentation for API * Added website based on webgen * Modified test task to use rcov * Deleted unused code (thanks, rcov!) * Various changes to the mock API, * Various improvements to failure reporting == Version 0.5.0 This release introduces a new API and obsolesces previous versions. * Moved source code to separate subfolders * Added new DSL runner based on instance_exec * Added spike for testdox/rdoc generation * merge Astels' and Chelimsky's work on ShouldHelper * this would be 0.5.0 if I updated the documentation * it breaks all of your existing specifications. We're not sorry. == Version 0.3.2 The "srbaker is an idiot" release. * also forgot to update the path to the actual Subversion repository * this should be it == Version 0.3.1 This is just 0.3.0, but with the TUTORIAL added to the documentation list. * forgot to include TUTORIAL in the documentation == Version 0.3.0 It's been a while since last release, lots of new stuff is available. For instance: * improvements to the runners * addition of should_raise expectation (thanks to Brian Takita) * some documentation improvements * RSpec usable as a DSL == Version 0.2.0 This release provides a tutorial for new users wishing to get started with RSpec, and many improvements. * improved reporting in the spec runner output * update the examples to the new mock api * added TUTORIAL, a getting started document for new users of RSpec == Version 0.1.7 This release improves installation and documentation, mock integration and error reporting. * Comparison errors now print the class name too. * Mocks now take an optional +options+ parameter to specify behaviour. * Removed __expects in favour of should_receive * Added line number reporting in mock error messages for unreceived message expectations. * Added should_match and should_not_match. * Added a +mock+ method to Spec::Context which will create mocks that autoverify (no need to call __verify). * Mocks now require names in the constructor to ensure sensible error messages. * Made 'spec' executable and updated usage instructions in README accordingly. * Made more parts of the Spec::Context API private to avoid accidental usage. * Added more RDoc to Spec::Context. == Version 0.1.6 More should methods. * Added should_match and should_not_match. == Version 0.1.5 Included examples and tests in gem. == Version 0.1.4 More tests on block based Mock expectations. == Version 0.1.3 Improved mocking: * block based Mock expectations. == Version 0.1.2 This release adds some improvements to the mock API and minor syntax improvements * Added Mock.should_expect for a more consistent DSL. * Added MockExpectation.and_returns for a better DSL. * Made Mock behave as a null object after a call to Mock.ignore_missing * Internal syntax improvements. * Improved exception trace by adding exception class name to error message. * Renamed some tests for better consistency. == Version 0.1.1 This release adds some shoulds and improves error reporting * Added should_be_same_as and should_not_be_same_as. * Improved error reporting for comparison expectations. == Version 0.1.0 This is the first preview release of RSpec, a Behaviour-Driven Development library for Ruby * Added Rake script with tasks for gems, rdoc etc. * Added an XForge task to make release go easier.