Skip to content
This repository
  • 682 commits
  • 164 files changed
  • 25 contributors
This comparison is big! We're only showing the most recent 250 commits
Nov 29, 2011
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 22, 2011
Nick Novitski use RR's rspec2 adapter (re: issue #136) b4d8267
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 03, 2012
Suraj N. Kurapati at_exit: don't mask nonzero exit status due to $!
This change ensures that RSpec's at_exit handler doesn't mask (override)
any nonzero exit status, which can happen when Ruby is on it's way out
due to an uncaught exception ($!) such as a SyntaxError.

Please see this bug report for more information:

sunaku/tork#31 (comment)
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
Justin Ko Merge pull request #569 from sunaku/patch-1
at_exit: don't mask nonzero exit status due to $!
Justin Ko changelog aefb25c
Feb 16, 2012
David Chelimsky add note that explicit ref to subject is not recommended 5dc1872
Mar 03, 2012
David Chelimsky Don't include or extend when ancestor group is already extended.
- Fixes #576.
David Chelimsky Changelog for #576 9f425c2
David Chelimsky link to full dev changelog [ci skip] 2fa0741
David Chelimsky Fix #576 for Ruby 1.8 as well
Per benchmarks/check_inclusion, this:
  (class << host; self; end) < mod
is faster than this:
  (class << host; self; end).included_modules.include?(mod)

The faster version doesn't work in Ruby 1.8, so we use the slower
version in Ruby 1.8, but the faster version in 1.9:w
David Chelimsky run benchmarks against ruby 1.8 as well 6d75ce6
Mar 05, 2012
David Chelimsky remove spork-0.9 shim (0.9 has been released) dbf1d64
Mar 10, 2012
Justin Ko Fix broken link. Closes #580 76cd682
Mar 11, 2012
David Chelimsky bump to 2.9.0.rc1 5b255ac
David Chelimsky don't forget rake 8d1eff9
Mar 12, 2012
David Chelimsky bump to 2.9.0.rc2 a4607d5
Mar 15, 2012
David Chelimsky add example for 'it { should_not matcher }'
There was a cuke, but no example.
David Chelimsky it { should matcher } delegates directly to ExpectationHandler.
Not only is this cleaner, but it also makes it feasible to turn of the
global 'should' (see #119).
Mar 17, 2012
masarakki fix memorize of subject 54c0e18
David Chelimsky Merge pull request #582 from masarakki/master
Support false and nil subject
David Chelimsky Merge pull request #582 from masarakki/master
Support false and nil subject
David Chelimsky Beef up/clarified specs for #582.
Also refactored `its` a bit
David Chelimsky Changelog for #582 76fed28
David Chelimsky Beef up/clarified specs for #582.
Also refactored `its` a bit
David Chelimsky Changelog for #582 96e9d57
David Chelimsky bump to 2.9.0 52bbe9f
David Chelimsky Merge branch '2-9-maintenance' into temp
* 2-9-maintenance:
  bump to 2.9.0
  Changelog for #582
  Beef up/clarified specs for #582.
  Merge pull request #582 from masarakki/master

David Chelimsky dev: bump spork version to 0.9.0
[ci skip]
David Chelimsky dev: add a script to download ruby-debug-base19-0.11.26.gem and linec…
…ache19-0.5.13.gem to a local cache

[ci skip]
Mar 18, 2012
preethiramdev Adding prepend before 15fa016
preethiramdev Comments 70433f3
preethiramdev Adding append_after, prepend_after, changes to after hooks storage an…
…d run method
David Chelimsky Hook collections are all the same now, so we only need one type. 76899a6
David Chelimsky rdoc tweaks for #579 d46c857
David Chelimsky provide a default ExampleGroup to eliminate conditionals running hooks 6999128
David Chelimsky refactor the [prepend|append]_[before|after] examples 9401cba
David Chelimsky Changelog for #579 f85d405
Mar 23, 2012
Justin Ko Properly parse `SPEC_OPTS` options. Fixes #586 268eeb4
David Chelimsky add benchmark comparing v yield
[ci skip]
David Chelimsky example.description returns the location of the example if there is no
explicit description or matcher-generated description.

- Fixes #585.
Mar 24, 2012
Grzegorz Świrski Fixed formatting of code examples in documentation.
Some `@example` tags were missing, I believe.
David Chelimsky Merge pull request #589 from sognat/patch-1
Fixed formatting of code examples in documentation.
David Chelimsky Changelog for #589 26e9548
David Chelimsky Use relative path for example.location. 107d676
Michael Grosser Do not modify example ancestry when dumping errors
This causes bugs (Notably that after blocks / transaction rollback is not executed properly)
when errors are dumped while examples are still running
as is done by [rspec-instafail]( and therefore fuubar formatter.
David Chelimsky Merge pull request #588 from grosser/preserve_ancestry_on_failure
Do not modify example ancestry when dumping errors
David Chelimsky Changelog for #588 [ci skip] fbe0e75
Mar 30, 2012
David Chelimsky beef up rdoc about let 78eb9e8
David Chelimsky more doc for subject method [ci skip] d39157b
Mar 31, 2012
David Chelimsky embrassed? seriously?
[ci skip]
Apr 04, 2012
David Chelimsky add doc files to .yardopts
[ci skip]
Apr 07, 2012
David Chelimsky add info to README about storing command line options in .rspec and a…
…utotest integration

[ci skip]
Apr 08, 2012
David Chelimsky remove unnecessary guard 62ae302
David Chelimsky Remove obsolete guard against building in ruby 1.9
[ci skip]
David Chelimsky prepend_before now prepends local hooks before global hooks.
- Provides support for rspec/rspec-rails#391.
- Also refactored the hooks infrastructure such that most of the work is
  done within the hooks module rather than spreading it out across its
  different consumers.
Apr 13, 2012
MOROHASHI Kyosuke refactor test, return identically same object from stubbed examples() b08810b
MOROHASHI Kyosuke prints ocuppied time of slow tests. 361cd64
MOROHASHI Kyosuke fix ZeroDivisionError when no test ran. 1708e15
MOROHASHI Kyosuke fix broken test fbe337e
Apr 16, 2012
MOROHASHI Kyosuke Improve result message. 9e8643d
Apr 18, 2012
Justin Ko Merge pull request #602 from moro/display-slow-tests-occupied-time
Display slow tests occupied time
Justin Ko Remove extraneous word. 4d9472e
Justin Ko Fix for 1.8 1c0ce8d
Justin Ko changelog [ci skip] a777f09
Justin Ko JRuby is too fast!! (need to get an execution result time) 343c9e2
Justin Ko line break [ci skip] a1cae36
Justin Ko Handle zero execution time for profiling. This could happen if nothin…
…g is called in an example block.
Justin Ko Attempt to get JRuby to report an execution time for profiling. 6c37ec5
Apr 20, 2012
Olek Janiszewski Fix warning
lib/rspec/core/subject.rb:91: warning: shadowing outer local variable - subject
Olek Janiszewski Fix a bunch of warnings
spec/rspec/core/example_spec.rb: warning: `-' after local variable
is interpreted as binary operator even though it seems like unary operator
Justin Ko Merge pull request #603 from exviva/fix_warnings
Fix warnings
Benoit Daloze raise an ArgumentError when the arity of a Proc filter is wrong
Otherwise the filter is not evaluated and considered to return nil
Myron Marston Merge pull request #604 from eregon/filter-proc-arity
raise an ArgumentError when the arity of a Proc filter is wrong
Benoit Daloze do not assume the user has the default progress formatter in its conf…
Myron Marston Merge pull request #571 from eregon/formatter_config
Some tests depend on absence of formatter in ~/.rspec
Apr 21, 2012
David Chelimsky minor refactoring: extract method 999d04c
David Chelimsky dev: align use of FakeFS 8e816eb
Apr 22, 2012
David Chelimsky Changelog formatting tweak [ci skip] 36f6e22
David Chelimsky don't need file list in .yardopts 1359ae2
David Chelimsky dev: align Gemfiles across rspec projects 7eaa1f6
Apr 24, 2012
Jarmo Pertman fixes #396 2ea6f20
Apr 26, 2012
David Chelimsky make append_before and prepend_after aliases of before and after 18e452d
David Chelimsky minor refactoring and making private things private c98d538
Apr 30, 2012
David Chelimsky update yard to 0.8 9d8a6cc
May 02, 2012
Daniel Doubrovkine (dB.) @dblockdotorg Shellsplitting input in -O. 531c0a6
May 03, 2012
David Chelimsky Merge pull request #610 from dblock/shellsplit-dahs-o
Shellsplitting input in custom options file.
David Chelimsky update changelog for 2.10 release 89c44ef
David Chelimsky bump to 2.10.0 95bf11b
May 04, 2012
Daniel Doubrovkine (dB.) @dblockdotorg Ported support for mutliple -e options from #596. 2f88804
May 06, 2012
David Chelimsky dev: remove obsolete filter 1ad7087
David Chelimsky dev: clean up some specs b1b2ae6
May 08, 2012
David Chelimsky `config.mock_with` and `config.expect_with` yield custom config object
to a block if given

This supports decoupled config for other rspec and 3rd party libs.

    RSpec.configure do |c|
      c.expect_with ExpectationFramework do |other_framework_config|
        other_framework_config.custom_setting = true
      c.mock_with OtherFramework do |other_framework_config|
        other_framework_config.custom_setting = true
Daniel Doubrovkine (dB.) @dblockdotorg A prettier implementation via @justinko. dc33f77
David Chelimsky rdoc format [ci skip] a0202ea
May 13, 2012
Justin Ko Merge pull request #614 from dblock/multiple-eees
Allow specifying multiple -e (--example) options
Justin Ko changelog [ci skip] 1004353
May 15, 2012
David Chelimsky spec refactoring: replace subject with intention revealing name e343cba
David Chelimsky Support a 'name' arg to subject declaration
Closes #619.


    describe Article do
      subject(:article) { }
      it { supports_one_liners }
      it "supports intention revealing name" do
        article.should do_something
David Chelimsky more Changelog for #619 [ci skip] 19e1eaf
David Chelimsky doc tweaks [ci skip] #619 5ea6d86
May 17, 2012
David Chelimsky RSpec.reset resets filters
- Fixes #621
David Chelimsky Revert "RSpec.reset resets filters"
This reverts commit ba15a2e.
David Chelimsky RSpec.reset reinits configuration and world
- Fixes #621 (for realz)
David Chelimsky Changelog for #621 c9b8681
May 18, 2012
Jonathan Simms call #to_s on exception_message before calling #split
When 1.8.7 is shutting down its threads, and you're stuck in a Monitor,
it will eventually raise a SystemExit, and that SystemExit may have an
instance of Exception as its `#message` (instead of a String) which
causes the formatter to blow up.
Jonathan Simms causes rspec without #622 to raise NoMethodError 6ab7614
David Chelimsky Merge pull request #622 from slyphon/dump_failure_info_fix
call #to_s on exception_message before calling #split
May 19, 2012
David Chelimsky RDoc improvements for shared examples, Example, and Procsy.
Also did some minor refactoring in order to be able to use Yard to
document internal-DSL-generated methods like `it`, `example`, and
David Chelimsky Changelog for #622 [ci skip] 1482bfe
David Chelimsky Fix typo in changelog: Grzegorz M-E~Zwirski [ci skip] 18aacf7
David Chelimsky Revert "Fix typo in changelog: Grzegorz M-E~Zwirski [ci skip]"
It was correct before - just looked wrong in my editor.

This reverts commit d342861.
David Chelimsky Changelog after 2.10.1 release [ci skip] 03b72af
David Chelimsky Changelog - link url [ci skip] acf2fdf
David Chelimsky rdoc - use the {name} syntax for links [ci skip] d024dc9
Justin Ko Merge pull request #605 from jarmo/bug_396
fixes #396
Justin Ko Use File::ALT_SEPARATOR if it is not nil (it is on nix systems). 1d49eb6
Justin Ko Only run windows specific specs if on the windows OS.
travis-ci will be supporting multiple OS's in the future.
Justin Ko Remove redundant logic. 2a7fafb
Justin Ko changelog 3705abd
May 20, 2012
David Chelimsky Re-reformat failure message.
Fixes cuke broken by 43ec3a8 caused
by reformatting a file, which accidentally re-indented a HERE doc.
May 22, 2012
Myron Marston Don't silence 2nd exceptions.
When an example raises an error and an after or around hook also raises an error, the 2nd error was being silenced, since `set_exception` was a no-op when the exception was already set.  Silencing errors is bad, so we should print the error instead.

See for the issue that triggered this change.
Myron Marston Update changelog. 0b34e42
May 23, 2012
Myron Marston Improve on 27059bf.
* Fix specs. The `should_receive(:message).with(/.../)` wasn't working as passed even if the message text didn't match the regex.
  I figured out that it was because of the fact that the error was being
  raised within the example-under-test, which already had two errors and
  was simply printing (or, previously, silencing) the extra error.  The
  solution is to capture the reported message using a stub implementation,
  and then assert on it after running the example.
* The added context ("in an after hook") for 2nd errors happening in an
  after hook wasn't being included in the printed message. This is fixed now.
May 25, 2012
Bryan Helmkamp Add Code Climate badge e2cc637
David Chelimsky Merge pull request #623 from brynary/codeclimate-badge
Add Code Climate badge
May 27, 2012
Justin Ko Merge pull request #443 from nicknovitski/patch-2
use RR's rspec2 adapter (re: issue #136)
Justin Ko Revert "Merge pull request #443 from nicknovitski/patch-2"
This reverts commit ea668aa, reversing
changes made to 8010fc3.
David Chelimsky minor refactoring: reduce duplication in hooks module 6837910
David Chelimsky remove some unnecessary conditionals 894dd4c
David Chelimsky Add travis-ci badge to README 80bb038
David Chelimsky fix typo in README [ci skip] 553608e
David Chelimsky README tweaks 7bfe871
May 30, 2012
David Chelimsky refactor: move some hooks behavior to Hooks module 0592aca
Jun 03, 2012
David Chelimsky use `define_method` instead of `let` for named subject
`subject` already memoizes the value
Jun 04, 2012
David Chelimsky `include_examples` and `include_context` now accept a customization b…

- Closes #615.
David Chelimsky run share_examples_for examples against shared_examples and shared_co…
Jun 06, 2012
Myron Marston Delay the loading of DRB.
- Most of the time users don't use DRB. This'll speed up the start time a bit
  by not unnecessarily loading it when it's not used.
- Apparently jruby 1.7.0-preview1 loads the delegate library when DRB is loaded [1][2].
  This causes expectations on delegate objects to fail because `should` never gets added
  to them. By delaying when delegate gets loaded, it allows a user to load
  `rspec/expectations` and then `delegate` and ensure it works.

[1] rspec/rspec-expectations#148 (comment)
[2] The backtrace at the point delegate is loaded:
/Users/myron/.rvm/rubies/jruby-head/lib/ruby/1.9/drb/drb.rb:1:in `require'
/Users/myron/.rvm/rubies/jruby-head/lib/ruby/1.9/drb/drb.rb:1:in `(root)'
/Users/myron/.rvm/rubies/jruby-head/lib/ruby/1.9/drb/drb.rb:57:in `require'
/Users/myron/.rvm/rubies/jruby-head/lib/ruby/1.9/drb/drb.rb:57:in `(root)'
/Users/myron/.rvm/gems/jruby-head/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:1:in `require'
/Users/myron/.rvm/gems/jruby-head/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:1:in `(root)'
/Users/myron/.rvm/gems/jruby-head/gems/rspec-core-2.10.1/lib/rspec/core/runner.rb:1:in `(root)'
file:/Users/myron/.rvm/rubies/jruby-head/lib/jruby.jar!/jruby/kernel19/kernel.rb:1:in `(root)'
file:/Users/myron/.rvm/rubies/jruby-head/lib/jruby.jar!/jruby/kernel19/kernel.rb:19:in `require'
file:/Users/myron/.rvm/rubies/jruby-head/lib/jruby.jar!/jruby/kernel19/kernel.rb:19:in `require_relative'
/Users/myron/.rvm/gems/jruby-head/gems/rspec-core-2.10.1/lib/rspec/core.rb:4:in `require'
/Users/myron/.rvm/gems/jruby-head/gems/rspec-core-2.10.1/lib/rspec/core.rb:4:in `require_rspec'
/Users/myron/.rvm/gems/jruby-head/bin/rspec:23:in `load'
/Users/myron/.rvm/gems/jruby-head/bin/rspec:23:in `(root)'