Skip to content
This repository
  • 849 commits
  • 197 files changed
  • 19 contributors
This comparison is big! We're only showing the most recent 250 commits
Oct 28, 2011
Justin Ko bad doc 598e722
David Chelimsky couple of rdoc comments bf0d104
David Chelimsky move drb_argv to its own class 09d0e89
David Chelimsky autoload SharedContext and formalize it's availability as
RSpec::SharedContext with a spec.
David Chelimsky support let in SharedContext 5fd8dab
David Chelimsky support context/describe for nested groups in SharedContext b2da24d
David Chelimsky Opposite filters (tags) with higher precedence cancel out those with …
…lower precedence

Beginning to address #369 and #327.

This commit deals with command line, ENV and file options, but does not
address options defined with RSpec.configure. Once that's addressed we
can close #369 and #327.

This does, implicitly, let --tag options set in rake tasks overwrite
those in option files.
David Chelimsky fix syntax error on 1.8.7 b1f1471
David Chelimsky bump ZenTest to silence 1.9.3 deprecation warning dc102cb
David Chelimsky dev: reorder the config options 8d8befc
Oct 29, 2011
David Chelimsky refactor configuration: use attr_readers w/ ivars instead of a separa…
…te settings hash
David Chelimsky align mock_with/mock_framework= with expect_with/expectation_framework=
One of each pair delegates to the other, but they were backward from
each other.
David Chelimsky add -w flag when running rake spec 4229554
David Chelimsky add benchmarks on define_method v attr_reader v def 8d53640
David Chelimsky Add :alias_with option to configuration.add_setting and deprecate the
:alias key.
David Chelimsky Fix bug where full descriptions of groups nested 3 deep were repeated.
- Fixes #477.
David Chelimsky dev: eliminate a warning generated in the specs e3c842b
Oct 30, 2011
Matijs van Zuijlen Eliminate the remaining warnings emitted by rspec-core.
There are still some emitted by upstream dependencies.

- Closes #488.
David Chelimsky update changelog for #488 9fb2798
David Chelimsky dev: fix ruby-debug version (and deps) for 1.9.2 9a85bd9
David Chelimsky cap Ruby in changelog d36faf2
David Chelimsky align order option on CLI and in RSpec.config (was orderby in the lat…
David Chelimsky dev: use --tag ui for spec:ui
This was managed with a special options file, but we don't need that now
that tags in rake task's rspec_opts can override those in .rspec.
David Chelimsky change seed_to_report to seed (it works the same way, and we don't ne…
…ed a separate method for it)
David Chelimsky Support --seed 123 (equivalent of --order rand:123) a116b36
David Chelimsky changelog for prev commit 4406e9f
David Chelimsky Restore reported run time to begin after files are loaded.
- was causing problems for spork users and others.
- closes #475.

This reverts commit fd04952, with
a couple of minor changes/additions.
David Chelimsky move order option to .rspec file so it can be overridden on the CLI 024638f
David Chelimsky add '--order default' option
This allows you to override --order rand in a .rspec file from the CLI.
It actually worked before, but it was completely by accident - this
makes it explicit and less likely to regress in the future.

Related to #403.
David Chelimsky Gherkin loves HTML more than Markdown 529d467
David Chelimsky config.seed always returns the @seed value
Moved the responsibility of not reporting a seed if not randomizing
to CommandLine.
Nov 01, 2011
David Chelimsky formalize Reporter#report as an API to support extensions like intera…
David Chelimsky dev: gemfile tweaks ac66e9f
David Chelimsky doc: how about a touch of abstraction cc0468f
David Chelimsky doc: make Warning look like other yardoc tags 6050b3c
David Chelimsky doc: make Warning look even more like other yardoc tags f6fb5ac
Nov 02, 2011
Myron Marston Fix spec so it matches with the description.
The old spec wasn't actually specifying anything.
Myron Marston Simplify how the expect_with configuration works.
- There's no need to include RSpec::Matchers or Test::Unit::Assertions into an adapter module when we can just include them directly.
- It makes it possible to interrogate @expectation_frameworks to see what was already configured and included.  Before, @expectation_frameworks contained [RSpec::Core::ExpectationFrameworkAdapter], regardless of what was configured.
Myron Marston Don't raise an error when the user is re-setting the existing config. f2dc2f8
Nov 03, 2011
David Chelimsky changelog for #494 and #490 294e379
David Chelimsky Change config.color_enabled (getter/setter/predicate) to color to align
with --[no]-color CLI option.

- color_enabled is still supported for now, but will likely be
  deprecated in a 2.x release so we can remove it in 3.0.
David Chelimsky spec both color and color_enabled 60379b8
David Chelimsky --color on command line or in .rspec (etc) overrides setting in RSpec…
David Chelimsky CLI tags override their inverses in file options and RSpec.configure
Fixes #369.
David Chelimsky Fix bug with full_description and line_numbers= from previous commit. 61c8ec6
David Chelimsky no need for special handling 62f8c43
David Chelimsky (Almost) all command line args can now override RSpec.configure
- Closes #369.
David Chelimsky eliminate the many, many warnings introduced by last commit 9b8e1d1
David Chelimsky don't force line_number or full_description (both of which work bette…
…r on the CLI)
Nov 04, 2011
David Chelimsky path/to/file.rb:37 overrides other filters 6ecf82b
David Chelimsky Restore rand:seed behavior
--order and --seed no longer override RSpec.configure. They should, so
this should be revisited, but this gets the common case working again.
Nov 05, 2011
David Chelimsky just add seed and order to the non-forced-options list 1599198
David Chelimsky don't force debug (restores debug behavior) aab0cba
David Chelimsky add benchmark that runs a spec with many examples 83a299f
David Chelimsky begin to move filter management to a single Filter object 9eb45d3
David Chelimsky filter using Filter instead of calling the inclusion/exclusion filter…
…s separately
David Chelimsky ConfigurationOptions uses Filter to manage merging 8062102
David Chelimsky Improve display of run options 765d8c7
David Chelimsky reduce feature envy on Filter 799d2bd
David Chelimsky rename Filter to FilterManager d9115a7
David Chelimsky fix cukes related to filtering 8285766
David Chelimsky changelog d3604a9
David Chelimsky only add a newline if there are both inclusion and exclusion filters e524fa2
David Chelimsky remove unnecessary alias d8b7d36
David Chelimsky delete obsolete methods 939c765
David Chelimsky deprecate :if and :unless as keys for RSpec.configuration.filter_run_…
David Chelimsky organize the output from rspec --help 8b86187
David Chelimsky rdoc updates ef11f68
David Chelimsky more rdoc updates 1959d05
Nov 06, 2011
David Chelimsky rdoc: hooks, configuration, and more fc67575
David Chelimsky rdoc: ordering info for after hooks 0f9aa32
David Chelimsky reformat the changelog file 3df9693
David Chelimsky bump to 2.8.0.rc1 4ac7447
David Chelimsky make sure we can override order/seed when it is defined in RSpec.conf…
Nov 07, 2011
David Chelimsky add Changelog and License to the generated RDoc 6f173cc
David Chelimsky rename ClassMethods/InstanceMethods to ExampleGroupMethods/ExampleMet…
…hods (more descriptive)

- also add more rdoc
David Chelimsky use described_class instead of deprecated describes (but keep support…
…ing describes for now)
David Chelimsky dev: rake clobber removes generated docs 9b6a8fe
Nov 08, 2011
David Chelimsky update License and/or authors in gemspec ab02342
David Chelimsky update email addy and homepage in gemspec d1ea9b9
Nov 09, 2011
David Chelimsky fix the formatting in the changelog 96abea4
David Chelimsky more changelog formatting 541c02a
David Chelimsky more README 9e9f8a4
Nov 10, 2011
Peter Schröder add an --init switch to the rspec command
- Closes #430.
David Chelimsky merge --configure and --init into a single command
- #430

- generates .rspec if not present
- generates spec/spec_helper if not present
- offers to delete obsolete autotest/discover.rb if present
- offers to delete obsolete lib/tasks/rspec.rake if present
David Chelimsky changelog for #430 8a613b5
David Chelimsky changelog tweak fe4d40c
Nov 11, 2011
David Chelimsky refactoring: extract method for warning 13586e0
David Chelimsky refactoring: break up complex method 964a302
David Chelimsky refactoring: break up complex method 7c52488
Nov 12, 2011
Calvin Bascom Create the fakefs home directory path so writes to ~/.rspec succeed 88b342b
David Chelimsky Merge pull request #501 from cbascom/config_spec_failures
Create the fakefs home directory path so writes to ~/.rspec succeed
Nov 13, 2011
Ian Leitch Use require_relative inplace of standard require if available. 49fcd9d
David Chelimsky Merge pull request #502 from ileitch/require_relative
Use require_relative inplace of standard require if available.
David Chelimsky use require_relative for subdirs as well (#502) 032f373
David Chelimsky changelog and benchmark for #502
Using require_relative instead of require results in a roughly 12%
improvement in the time it takes to load rspec-core's own lib files
David Chelimsky use defined?(xxx) (tastes great, less filling) e8c392c
Calvin Bascom Add support for passing parameters and a block through include_examples 71f6911
Calvin Bascom Add support for passing parameters and a block to include_context as …
Nov 14, 2011
Calvin Bascom Remove support for passing a block to include_[examples|context] 386e329
Calvin Bascom Add a warning if a block is provided to include_[examples|context] 26802fb
Nov 15, 2011
David Chelimsky Merge pull request #503 from cbascom/shared_example_params
Add support for passing parameters and a block through include_examples and include_context
David Chelimsky changelog and cleanup for #503 96ef203
David Chelimsky reorder the rake task args (no functional change) and clean up rspec's
own rake tasks
David Chelimsky Merge pull request #485 from ragaskar/master
Use inject instead of reduce.
David Chelimsky Merge pull request #451 from richievos/master
Add time to run each example to html formatter.
David Chelimsky Use 5 decimal places for time reports in html formatter.
- also update formatter specs and gold masters
- #451
David Chelimsky changelog for #451 8de2a97
Nov 19, 2011
David Chelimsky rdoc 7a72f38
Justin Ko Don't shell out for "ui" specs. a349051
Justin Ko Don't exclude "ui" specs from the default spec run - they're fast eno…
…ugh now.
Nov 22, 2011
David Chelimsky dev: add rdoc task 258c250
David Chelimsky rdoc - use yard's @private tag to hide a lot of noise. More to go, bu…
…t good progress.
Nov 23, 2011
Chris Griego Fix --drb --failure-exit-code 726c5cd
Nov 24, 2011
David Chelimsky more rdoc tweaks bbc965c
Nov 25, 2011
David Chelimsky dev: hack the Gemfile to print instructions for ruby-debug-base19 and…
… linecache19 on ruby-1.9.3
David Chelimsky restore debugger method directly to Kernel 3b996ae
David Chelimsky ci: don't warn about ruby-debug-base19 and linecache19 in ci 0404fe3
David Chelimsky dev: add support for a Gemfile-custom file so devs can customize their
dev env.
David Chelimsky dev: move dev-env gems to Gemfile-custom.sample fcb8455
David Chelimsky add
Would have prefered to call it README-DEV, but yard picks that up and
won't ignore it even if I tell it to :(
Nov 26, 2011
David Chelimsky Merge pull request #509 from cgriego/drb-failure-exit-code
Fix --drb --failure-exit-code
Nov 27, 2011
fix small typo 9c43e1f
David Chelimsky Merge pull request #510 from AlexKVal/patch-1
fix small typo
Nov 28, 2011
simpler --tag TAG[:VALUE] parsing d5d12e8
remove duplication b062e79
use the OptionParser type option 91feb97
remove duplicate test 1d31b88
Justin Ko Merge pull request #513 from AlexKVal/remove_duplicate_test
remove duplicate test
Justin Ko Fix 1.8 syntax error. cb1d205
Nov 29, 2011
Matt Kirk Using Kernel.rand instead of just rand due to injection issues af76b40
Justin Ko Merge pull request #514 from hexgnu/master
Use `Kernel.rand` instead of `rand` for randomization.
David Chelimsky Merge pull request #511 from AlexKVal/simpler_syntax
simpler --tag TAG[:VALUE] parsing and remove small duplication
David Chelimsky Merge pull request #512 from AlexKVal/failure_exit_code
use the OptionParser type option
David Chelimsky Restore the duplication removed from a spec in the previous commit. I
find it easier to read and it aligns better w/ the other examples in the
same file.

- #512.
David Chelimsky update gold masters for html formatter specs in jruby a53add2
David Chelimsky ci: restore jruby 9b2bc3e
Nov 30, 2011
testing all options are output 28462c2
Justin Ko Merge pull request #517 from AlexKVal/sml
unnecessary to_s
Dec 01, 2011
unnecessary to_s 159f889
more concise FilterManager#update 90e56a9
David Chelimsky Merge pull request #518 from AlexKVal/filter_manager
more concise FilterManager#update
David Chelimsky Merge pull request #516 from AlexKVal/drb_options_spec
ensure all options make it across DRb
David Chelimsky ci: jruby build is still timing out on travis 355f727
little more test coverage for FilterManager#include ae95c6a
test for :replace priority in FilterManager#update 310defb
Myron Marston Tweak some JRuby/Java settings to run the cukes faster.
On my mac book pro this made them about twice as fast.

Before these changes, `time bundle exec cucumber` resulted in:
  bundle exec cucumber  2644.08s user 214.31s system 225% cpu 21:09.29 total

After these changes, `time bundle exec cucumber` resulted in:
  bundle exec cucumber  732.46s user 115.82s system 136% cpu 10:22.37 total
David Chelimsky Merge pull request #519 from AlexKVal/filter_manager_spec
two additional tests for FilterManager
David Chelimsky Expose more intention revealing methods on FilterManager to eliminate
dependency on magic symbols.
David Chelimsky Fix bug introduced in previous commit where low priority exclusion
filters bypassed the deprecation warnings for if/unless.
Dec 02, 2011
David Chelimsky yield_unless_standalone.sub(/^yield_/,'') 58a2db4
David Chelimsky remove obsolete methods fbfa150
David Chelimsky changes 5cf3ec4
David Chelimsky rdoc: more detail on before/after hooks c149f58
remove unreachable code 9589b68
David Chelimsky add license to gemspec (and consequently the gem)
- Fixes #515
David Chelimsky Merge pull request #521 from AlexKVal/metadata
remove unreachable code
Dec 03, 2011
David Chelimsky rdoc 84cb5f2
David Chelimsky rdoc - hide more private stuff 1354f1a
Dec 04, 2011
David Chelimsky use github-flavored-markup in readme d13d28f
some cosmetics for Metadata class 31bc17d
David Chelimsky also see ... 2be6788
Dec 05, 2011
David Chelimsky Merge pull request #523 from AlexKVal/meta
some cosmetics for Metadata class
Dec 06, 2011
Alexander Shemetovsky readability refactoring of #filter_applies? 19d157c
David Chelimsky Merge pull request #528 from AlexKVal/meta
readability refactoring of #filter_applies?
David Chelimsky More refactoring of Metadata#filter_applies? and its helpers.
- related to #528.
David Chelimsky Metadata#filter_applies? - let Enumerable case fall through to defaul…
…t case

- #528
Dec 08, 2011
Alexander Shemetovsky #prune tests with the double d6b1dbc
David Chelimsky Merge pull request #535 from AlexKVal/meta3
#prune tests with the double
Alexander Shemetovsky remove overhead 5e7f7d8
David Chelimsky Merge pull request #536 from AlexKVal/fm_locations
remove overhead
Dec 09, 2011
Alexander Shemetovsky missed tests ced1340
Josh Cheek Add colour option for -p's slow test output
Worked on with @cdemyanovich during waza at @8thlight
Dec 10, 2011
David Chelimsky Merge pull request #539 from JoshCheek/profile-color-customization
Add colour option for -p's slow test output
David Chelimsky Revert "Merge pull request #539 from JoshCheek/profile-color-customiz…

This reverts commit d00e001, reversing
changes made to 0cdc8d4.
Dec 11, 2011
David Chelimsky rdoc - add note about pending + before 59602fa
David Chelimsky move PendingExampleFixedError to RSpec::Core::Pending b5d10cc
David Chelimsky a little more duck typing and a little less dependency on class 7fa264f
David Chelimsky :pending => 'message' assigns message (defaults to 'No reason given' …
…if :pending => true)

- defaults to 'No reason given' if :pending => true
- change default pending message to 'No reason given'
- assign 'Not yet implemented' when no block passed to example (a.k.a.
- Closes #540
David Chelimsky better messages for xit, xspecify, xexample 763eaab
Dec 12, 2011
David Chelimsky rdoc 13fd3ef
David Chelimsky very subjective little refactoring 80bdf06
Dec 13, 2011
David Chelimsky fill in pending example ea12445
David Chelimsky clean up drb spec 5b2b374
David Chelimsky even though it's pending, it should be red, not green 4ad3630
Dec 14, 2011
David Chelimsky small doc change 1e241a5
Dec 17, 2011
ineverov Metadata supports arrays e.g. it "does something", :foo => ['bar','baz']
- Closes #504.
David Chelimsky Handle filter_applies? with an array in a more generic way.
Previous implementation handles only strings, numbers, symbols. This
handles anything in any array the same way it handles the same value
when its not in an array.

- #504.
David Chelimsky Changelog for #504 d0cdea9
Dec 18, 2011
David Chelimsky Refactoring: guard clause for the special cases
- #504.
David Chelimsky Refactoring: Hash is a special case too
- #504.
Alexander Shemetovsky --order --seed and #force. Removed duplication. 5a2dcc4
David Chelimsky Merge pull request #542 from AlexKVal/force1
--order --seed and #force. Removed duplication.
David Chelimsky Handle --tty option, but remove it from published options as it's onl…
…y for internal use.
David Chelimsky make the help text (i.e. rspec --help) more consistent 06b107b
Dec 19, 2011
David Chelimsky prep for 2.8.0.rc2 e69e7e7
Dec 25, 2011
David Chelimsky refactoring: simplify some methods in base_text_formatter 423af13
David Chelimsky rdoc af8d17c
Dec 27, 2011
Meike Wiemann metadata supports arrays for procs as well 2332f34
Justin Ko Merge pull request #545 from weidenfreak/master
metadata supports arrays for procs
Justin Ko changelog 8ee5005
Dec 30, 2011
David Chelimsky Ensure that each spec file is only loaded once.
- Fixes #546, in which trying to run 2 or more specific examples in the
  same file caused the whole file to be run. This was happening because
  the following command caused the file to be loaded twice, and the filter
  was not being applied to the second instance:

    rspec path/to/file:37 path/to/file:42
David Chelimsky Merge pull request #538 from AlexKVal/config_spec
missed tests
David Chelimsky Changelog for #546 43bd805
Jan 04, 2012
David Chelimsky add some starter code to the files generated by 189dc9c
David Chelimsky bump to 2.8.0 5bafc3a
Jan 06, 2012
David Chelimsky doc/file listings/configs cd58cb1
David Chelimsky bump some dev deps and move their declarations to gemspec 88868ff
David Chelimsky ci: without without development 6f8feca
David Chelimsky dev: syntax gem is a dev dependency a7ebbb4
Jan 09, 2012
David Chelimsky (not txt) 47d7d0c
Jan 12, 2012
David Chelimsky Use sets defined once instead of arrays declared in line where order
doesn't matter.

Very minor perf improvement, evidence of which is either anecdotal
(rspec's suite appears to run about 0.1 second faster on average) or
assumed based on benchmarks posted at
David Chelimsky CONDITIONAL is more descriptive 7ce078e
Jan 13, 2012
David Chelimsky No need to override command line switches that don't accept false (e.g.

- Fixes $552.
Jan 16, 2012
ineverov Require 'set' a89fb4d
Merge branch 'master' of git:// db5a740
ineverov Remove to_set method call per d8af26e#commitcomment-861297 2b76e88
David Chelimsky Merge pull request #555 from ineverov/add_set_require
require 'set'
David Chelimsky remove unnecessary indirection bf848ec
David Chelimsky Ensure that values passed to `config.filter_run` are respected when
running over DRb (using spork).

- Fixes #554.
Jan 17, 2012
David Chelimsky Changelog for #554 e0de119
Jan 21, 2012
Olek Janiszewski Fix Cucumber deprecation warnings
This removes the following warning:

    WARNING: Using 'Given/When/Then' in step definitions
    is deprecated, use 'step' to call other steps instead
Justin Ko Merge pull request #559 from exviva/fix_cucumber_warnings
Fix Cucumber deprecation warnings
Jan 24, 2012
Justin Ko Ensure shared example groups are reset after a run (as example groups…
… are).
Jan 28, 2012
Maksim Zhylinski base text formatter now displays "xx minute(s) xx seconds" if more th…
…an 60 seconds
Jan 29, 2012
Arkadiy Zabazhanov Now the both values are stored, but i.e. `controller` method, created…
… anonymouus controller in corresponding example group, redefines only :described_class, but later we try to get `described_class` it examples to instantiate anonymous controller and got :describes value. Described class chould be taken first.
Arkadiy Zabazhanov Added spec for patched case a4c33a5
Justin Ko Merge pull request #563 from uzzz/master
Display both minutes and seconds of duration time when specs are finished.
Justin Ko Pluralization support for runtime duration output (minute). 68a66de
Justin Ko changelog a08eabc
Jan 30, 2012
David Chelimsky doc formatter strips whitespace from group and example descriptions 7db7f4b
David Chelimsky Changelog for prev commit 04d77ec
Justin Ko Spec for RSpec::Core::World#reset 5c73b8c
David Chelimsky simplify spec for #reset
- See 5c73b8c
Jan 31, 2012
David Chelimsky ci: update rubygems if < 1.8 (needed for ZenTest in ree) 7e6dc98
David Chelimsky ci: before_script doesn't run before bundling, so no way to run again…
…st ree for now
David Chelimsky ci: one more try ... 311b525
David Chelimsky ci: it's before_install (RTFM) ff5e12f
David Chelimsky ci: it's gem, not rubygems bcdb6f4
David Chelimsky dev: need to include dev rspec in case dependent gems depend on rspec a4bff1c
Feb 02, 2012
David Chelimsky don't rescue from calling proc filters
- Closes #556.
David Chelimsky Changelog for #556 147a3a5
David Chelimsky it was rescue false, not rescue nil
- #556.
Feb 04, 2012
Tom Stuart Fix autotest when RSpec executable path contains spaces b804c70
David Chelimsky Merge pull request #570 from tomstuart/rspec-executable-spaces
Autotest fails if RSpec executable path contains spaces
Feb 05, 2012
David Chelimsky Merge pull request #564 from pyromaniac/patch-1
Prefer described_class over describes
David Chelimsky Changelog for #564 c6dc90b
David Chelimsky Don't process filters when the metadata doesn't even have the key.
This allows us to simplify the filter_applies? method on metadata, and
gives us a small performance boost by not evaluating procs that would
always return false.

- Closes #556.
David Chelimsky fix copy/paste oversight b06bc35
Feb 10, 2012
David Chelimsky delegate instead of alias_method 44422d0