Skip to content


Subversion checkout URL

You can clone with
Download ZIP

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: rspec/rspec-core
base: v2.99.1
head fork: rspec/rspec-core
compare: v3.0.0.beta1
This comparison is big! We’re only showing the most recent 250 commits
Commits on Aug 22, 2013
@myronmarston myronmarston Merge pull request #1028 from schnittchen/dry-run
added --dry-run option
@myronmarston myronmarston Revert recent Gemfile changes.
* 187fb94.
* 2ffb33f.
* f8ff7dc.

It's causing `wrong constant name` and various other errors for me.
@myronmarston myronmarston Remove some more uses of deprecated `have` matcher. 91efc71
@myronmarston myronmarston Cleanup dry_run cuke.
- Favor curly-brace blocks over single-line do/end with semicolons.
- No need to use a background give it's just one scenario.
- Put the spec in the normal spec directory.
@myronmarston myronmarston Improve dry-run description. 3daa61f
@myronmarston myronmarston Don't use `or` in conditionals.
It's a control flow operator, not a conditional operator.
@myronmarston myronmarston Prefer predicate form of boolean config option. 2a054ae
@myronmarston myronmarston Simplify spec.
- It is simpler and less maintenance to collapse it into one.
- The sandboxing of config is already handled for us.
- It handles `around` hooks, too.
@myronmarston myronmarston Dry run should skip :suite hooks, too.
...since it is advertised as skipping hooks.
@myronmarston myronmarston Changelog entry for --dry-run. 67f60cb
@myronmarston myronmarston Merge pull request #1056 from rspec/dry_run_improvements
Dry run improvements
@soulcutter soulcutter Limit the spamminess of default deprecation messages
As discussed in rspec/rspec-mocks#386
@soulcutter soulcutter Add spec for File deprecation_stream output c1a5a77
@soulcutter soulcutter Changelog entry 31462a7
@soulcutter soulcutter Simplify Hash initialization c6652d9
@soulcutter soulcutter Extract classes for File and IO behaviors in DeprecationFormatter 57d755b
@soulcutter soulcutter Defer printing deprecation warnings until summary 420d985
@soulcutter soulcutter Remove factory method for DeprecationFormatter a4ae41f
@soulcutter soulcutter Move away from Struct-based formatter implementations d631fa9
@soulcutter soulcutter Use formatter pluralize helper 1f5a7c9
@soulcutter soulcutter Refactor deprecation formatter
This cleans up a number of code style and clarity
issues pointed out in the code review comments from
@dchelimsky dchelimsky Support flat_map
flat_map is over 40% faster for small arrays (see benchmarks), but is
not available in Ruby-1.8.7. This commit adds an implementation for
1.8.7 with a pass-through for >= 1.9.

Hat tip to Myron Marston for the implementation that does not monkey
patch nor extend runtime objects, and supports blocks without converting
them to Procs.
@dchelimsky dchelimsky Merge pull request #1057 from rspec/flat-map
Use flat_map {..} instead of map {..}.flatten
Commits on Aug 23, 2013
@myronmarston myronmarston Merge pull request #1029 from rspec/limit-deprecation-messages
Limit the spamminess of default deprecation messages
@myronmarston myronmarston Ported CallerFilter from rspec-mocks. 62f15f3
@myronmarston myronmarston Add caller benchmark script from rspec-mocks. bbc4767
@myronmarston myronmarston Merge pull request #1058 from rspec/add_caller_filter
Ported CallerFilter from rspec-mocks.
@myronmarston myronmarston Improve travis build.
* No need to bundle install twice.
* Run cucumber using our standalone
  bundle (rather than bundle exec).
* Bundler issue #2383 has been resolved,
  no need to work around it anymore.
@myronmarston myronmarston Add a spec for caller filter.
Doing so revealed that there were some files
that it did not filter, so I fixed that.
Commits on Aug 24, 2013
@myronmarston myronmarston Make source_location conditional static.
We know at code load time whether or not anything
has to be done here, so evaluate the conditional once.
@dchelimsky dchelimsky fix typo in Changelog [ci skip] 0980756
@myronmarston myronmarston Rename constant for clarity. 326a688
@myronmarston myronmarston Indicate the version that needs particular work-arounds.
[ci skip]
Commits on Aug 26, 2013
@myronmarston myronmarston Update caller filter.
- Don't put it at `rspec/caller_filter`.
- Thus, no need to include it in `ADDITIONAL_TOP_LEVEL_FILES`.

The way I had this was brittle and was causing problems.
In rspec-core I'm trying to update the regex and add some specs but
the fact that the file is at the same path in all 3 libs (which seemed
like a simple way to ensure only one of them loads) is causing
the _wrong_ version to be loaded in rspec-core's specs, so that it's not
picking up the changes I've made.  Putting the file at the same
path in all 3 libs was a terrible idea in retrospect :(.
@myronmarston myronmarston Revert how we run cucumber.
It's causing a SystemStackError on 1.9.2.
I'm not sure why and don't have time to debug it now.
@myronmarston myronmarston Merge pull request #1059 from rspec/improve_travis_build
Improve travis build.
@myronmarston myronmarston Relax assertion.
The rubinius error message is slightly different:

Missing or uninitialized constant: RSpec::NotAConst
@myronmarston myronmarston Merge pull request #1060 from rspec/add_caller_filter_spec
Add a spec for caller filter.
@myronmarston myronmarston Remove duplicate spec file. c5de493
@myronmarston myronmarston Remove unneeded comment.
[ci skip]
Commits on Aug 29, 2013
@dchelimsky dchelimsky Refactor configuration_options
* simplify initialization of @args
* collapse option parsing procedure into single series of iterators
@dchelimsky dchelimsky Merge pull request #1045 from rspec/refactor-configuration-options
Refactor configuration options
@dchelimsky dchelimsky Warn arity mismatch on shared examples
* helps when users migrate from rspec-1 to rspec-2
* see issue #1066
Commits on Aug 31, 2013
@dchelimsky dchelimsky clean up warning for more than one arg to include_examples
* support warning for Ruby >= 1.9
* use CallerFilter
* improve wording of warning
@dchelimsky dchelimsky improve precision of warning for unexpected args to include_examples …
…and its aliases
@myronmarston myronmarston Merge pull request #1067 from rspec/issue-1066
warn when the name of more than one example group is submitted to `include_examples` and it's aliases
Commits on Sep 03, 2013
@sorentwo sorentwo Comment out and document the generated config
All of the settings within the config file are slated to become the
default for 3.0. In the meantime comment them out of the generated
configuration and provide explanitory comments, hopefully to reduce any
confusion for people who are starting new projects.
@samphippen samphippen Merge pull request #877 from sorentwo/document-generated-config
Comment out and document the generated config
@samphippen samphippen Add a changelog entry for #877. 120fb71
Commits on Sep 05, 2013
@laserlemon laserlemon Use Array#shuffle for random spec ordering
There's a big performance win in #shuffle over #sort_by that can be
significant for large test suites.
@myronmarston myronmarston Merge pull request #1068 from laserlemon/random-order-performance
Use Array#shuffle for random spec ordering
Commits on Sep 06, 2013
@myronmarston myronmarston Remove unnecessary module inclusion.
`SharedExampleGroup` needs to be extended, but
does not need to be included as well.

The specs had to be refactored a bit because they
declared shared examples in-line w/in an example,
which isn't a normal, supported use case.

Fixes #1042.
@myronmarston myronmarston Fix 1.8.7 build. 6d92ace
@myronmarston myronmarston Merge pull request #1069 from rspec/issue-1042
Remove unnecessary module inclusion.
Commits on Sep 12, 2013
@JonRowe JonRowe rework spec to harness output correctly 83ad480
@JonRowe JonRowe allow override of runner output b947025
@JonRowe JonRowe Swap output stream to current sandbox (Read why).
Specs that use the runner need to use the current sandbox output stream
(rather than attempting to create a new one) so that inadvertant use of
the config hasn't preloaded any formatters (e.g. deprecation warnings
will cause stuff to be initialised which would then not be captured in
our specs correctly).
Commits on Sep 14, 2013
@JonRowe JonRowe revert overwriting output and fixup spec to discourage it 769e6a4
@JonRowe JonRowe Merge pull request #1073 from rspec/fix_formatter_output_issue
Running rspec-core's specs with `--order default` produces an error
@myronmarston myronmarston Remove RSpec 1 load error handling. 022838a
@JonRowe JonRowe Merge pull request #1074 from rspec/remove_rspec_1_error
Remove RSpec 1 load error handling.
Commits on Sep 16, 2013
@myronmarston myronmarston Fix YARD docs for config macros.
These config attributes weren't rendering
in the YARD API docs before.
Commits on Sep 18, 2013
@myronmarston myronmarston Error rather than warn when `let` accessed in :all hook. f5930e7
Commits on Sep 19, 2013
@JonRowe JonRowe Merge pull request #1078 from rspec/disallow_let_from_before_all
Error rather than warn when `let` accessed in :all hook.
Commits on Sep 21, 2013
@samphippen samphippen Test against the other rspec gems in the ci build. 2f769a2
@samphippen samphippen Add a print to help testing this build against other gems thing. cd9ff00
@samphippen samphippen Delete debugging test print. 25dee95
@samphippen samphippen Use `-fp -b` when running against the other gems. 60c29ca
@samphippen samphippen Executing cucubmer is a good thing, let's do that. cc419c0
Commits on Sep 23, 2013
@xaviershay xaviershay Recommended approach for finding and verifying code that invalidates the
message cache.
@myronmarston myronmarston Merge pull request #1082 from xaviershay/issue-863
Recommended approach for finding and verifying code that invalidates the message cache.
@dchelimsky dchelimsky Clean up BacktraceCleaner
The global configuration object exposes exclusion_patterns,
inclusion_patterns, and full_backtrace for modification at any time
during a run. This means that it would be perfectly reasonable for a
user to turn full_backtrace on and off around specific examples, and
also change the content of each patterns array at any time.

This commit does a number of things:

* clarifies examples
* decouples full_backtrace from exclusion_patterns
* makes it so that setting full_backtrace true or false
  preserves the content of exclusion_patterns and inclusion_patterns.
* simplifies the constructor
  * no args (no code outside examples submitted args to constructor)
* simplifies default backtrace inclusion patterns
  * consistent default regardless of exclusion patterns
    * eliminates order dependency of assignments
    * does not conflict with behavior of keeping anything in working
      directory by default
* simplifies the format_backtrace helper
  * collapses it into (effectively) piped iterators
  * see benchmarks/index_v_take_while.rb
@dchelimsky dchelimsky remove spec_helper from default backtrace exclusions
Also moved examples for backtrace cleaner defaults to backtrace cleaner
spec (from configuration spec).
@dchelimsky dchelimsky use a guard to clarify the decoupling of in/exclusion patterns from f…
@dchelimsky dchelimsky docstring improvements 6960a30
@dchelimsky dchelimsky tweak docs for configuration.backtrace_(in|ex)clusion_patterns e490a11
@dchelimsky dchelimsky merge exclusion patterns using Regexp.union
Per benchmarks, this is 2 to 3x faster.
@dchelimsky dchelimsky be true or false (v truthy or falsey) 1089a03
@dchelimsky dchelimsky Move all backtrace filtering to one place
Backtrace filtering was ultimately managed by the BacktraceCleaner
(now called BacktraceFormatter), but sometimes went through what
was called the BacktraceFormatter. Specs for formatting backtraces
were in a few different places.

Now it's all managed by one object and all the specs are in one place.

Leaves a temporary delegator to support rspec-expectations until that
code is modified to use RSpec.configuration.backtrace_formatter instead
of RSpec::Core::BacktraceFormatter.

Also leaves an alias for Configuration#bactrace_cleaner. Need to decide
whether to leave that in place or deprecate it in 2.99 w/ removal in
@dchelimsky dchelimsky Display full backtrace when every line filtered.
Restores previous behavior and adds a message to the backtrace
explaining that we're showing the full backtrace because every line was
@dchelimsky dchelimsky extract let 542335a
@dchelimsky dchelimsky align definitions of regexps and use File::SEPARATOR
NOTE: I didn't run this on Windows so I don't know if it actually
passes on Windows yet.
@dchelimsky dchelimsky 1.8.7 likes the dot on the same line as the receiver 5fd87db
@myronmarston myronmarston Merge pull request #1062 from rspec/clean-up-backtrace-cleaner
Clean up backtrace cleaner
Commits on Sep 24, 2013
@samphippen samphippen Various improvements to the test_all build script. 0b91a7a
@JonRowe JonRowe remove a stray string eval @xaviershay reported in #862 70049d1
@JonRowe JonRowe Merge pull request #1084 from rspec/remove_string_eval
Remove a stray string eval @xaviershay reported in #862
Commits on Sep 25, 2013
@samphippen samphippen Use ./tmp instead of $TMPDIR.
Requires use of `ln` to get a copy of the current directory.

Signed-off-by: Sam Phippen <>
Commits on Sep 27, 2013
@iamvery iamvery Use explicit conversion methods for stringified numbers
* As @greggroth pointed out in rspec/rspec-core#1086, the formatter
  does not work as expected when the mathn lib is loaded. This lib adds
  the Rational type which is formatted as "n/n" when stringified rather
  than the float form. By explicitly converting the arithmetic to the
  types we wish to stringify, this display is corrected.

@iamvery iamvery Add bug fix for mathn number formatting to changlog
[ci skip]
@iamvery iamvery Port @myronmarston's in_sub_process helper 56f43ae
@iamvery iamvery Add helper to run spec in subprocess with mathn loaded a786f36
@iamvery iamvery Remove mathn require from formatters/helpers spec 4cc1e55
@iamvery iamvery Add spec for formatters/helpers mathn integration a9d40ab
@iamvery iamvery Add mathn integration spec for html_formatter 52e7be3
@alindeman alindeman Refactors the ordering mechanism to use strategy objects 7e11746
@alindeman alindeman Example groups can override the default ordering.
Also OrderingRegistry needs docs.
@JonRowe JonRowe 1.8.7 doesnt have define_singleton_method e177c1d
@myronmarston myronmarston Combine ordering logic into one file.
- There's no need for so many tiny files.
- 1.9 has known perf issues with require,
  so doing one require instead of 4
  should speed up pert a bit.
- This keeps the ordering logic all in one
  small (< 100 LOC) file.
@myronmarston myronmarston Extract srand allowance. 4564d11
@myronmarston myronmarston Remove unneeded code that came from Sam's earlier PR. 7e74b94
@myronmarston myronmarston Remove stray, confusing comments. f88f3c2
@myronmarston myronmarston 2.0 shuffles differently.
This spec failed on 2.0. This change makes it
more resilient.
@myronmarston myronmarston Refactor ordering registry.
- Use two of them (one for examples, one for groups),
  rather than having a single one with separate,
  duplicated methods for examples vs groups.
- Rename `resolve_example_ordering` to `#[]`. It has the
  semantics of a hash lookup, after all.
- Add `global_ordering` for the case where that is
  explicitly needed.
@myronmarston myronmarston Change dependency injection of configuration.
To me, it makes more sense to pass it to ``
and to retain it as instance state on that object.
Injecting it in the `order` method is a little odd,
as it complicates the `#order` interface for all the
other strategies, even those that don't use the
configuration at all.
@myronmarston myronmarston Improve expectation. cc318d0
@myronmarston myronmarston Improve isolation of order specs.
* Cleanup extra files created by individual specs.
* Change to the aruba tmp dir before running the
  command.  This is important so that it doesn't
  pick up options in our `.rspec` file.
@myronmarston myronmarston Remove inconsistent #order and #randomize? config methods.
* Examples and groups can be ordered differently.
* Individual groups can be ordered differently.

As such, a global `order` reader method doesn't
make a lot of sense (although, assigning the global
default via `#order=` still does, I think).


* This exposed that the ordering force logic
  (e.g. to ensure CLI `--order rand` takes
  precedence over `RSpec.configure`) didn't
  work properly since it simply ensured `order`
  returned the forced option but did not ensure
  the global ordering was set properly.  I've
  fixed this.
* Don't clear the seed when setting the order to
  default. An individual example group may still
  be run in random order and will need the seed.
  There's really no reason to clear it.
* Base our decision of whether or not to print
  the seed at the end of the run on whether or
  not the random strategy ever got used, rather
  than whether or not `random` is the global
  strategy. If only one example group used the
  random strategy we would want it to print,
  but the old logic would not have done so.
@myronmarston myronmarston Refactor: extract Ordering::ConfigurationManager.
There's enough ordering config options that
they should be grouped into their own object.
@myronmarston myronmarston Refactor: refine how we pass config state to Reporter.
It's more natural to just pass the config instance in
the initializer, rather than passing the seed to
`report` and referencing `RSpec.configuration`.
@myronmarston myronmarston Allow custom orderings to be registered. 7e94b81
@myronmarston myronmarston Use doc formatter when running individual files. 537bfdd
@myronmarston myronmarston Use groups vs example strategy for groups vs examples.
We were wrongly always using the example strategy
for both groups and examples.
@myronmarston myronmarston Improve formatting. a500b52
@myronmarston myronmarston Change #[] to #fetch.
For the case of an unrecognized order symbol,
I want to have it take a fallback block
(like the semantics of Hash#fetch), but #[]
can't accept a block so we have to change the API.
@myronmarston myronmarston Print a warning when given an unrecognized :order option.
Otherwise it may confuse users when they misspell the ordering.
@myronmarston myronmarston YARD comments for the ordering code. 857b11b
@myronmarston myronmarston On 1.8.7, the Hash#fetch error msg doesn't include the key. 61492dc
@myronmarston myronmarston Remove unnecessary assertion on test output. e7eaa57
@myronmarston myronmarston Allows ordering strategy objects to be registered. 69c12db
@iamvery iamvery Move MathnIntegrationSupport module to file in spec/support a184f0b
@iamvery iamvery Wrap specs in "produced HTML" descriptive block ccbf433
@iamvery iamvery Add whitespace to make setup vs. assertions distinct 6fb7bac
@iamvery iamvery DRY specs by wrapping body in helper method 3db63c7
@myronmarston myronmarston Refactoring: use `:global` for global ordering.
…rather than having special `set_global_ordering`
and `global_ordering` methods.

Also, simplify `Ordering::Registry#fetch`:

- No need to handle `nil`; the caller can pass
- No need to handle callables; that's a bit of
  complexity we don't need. Callables can be
- No need to convert the ordering name `to_sym`;
  it wasn't spec'd and I'd rather require folks
  pass symbols.
@iamvery iamvery Require support/in_sub_process for MathnIntegrationSupport acbfa1c
@myronmarston myronmarston Simplify ordering API.
- Don't have separate `groups`, `examples` and
  `groups_and_examples` methods. There are very
  few use cases for having separate logic for
  groups vs examples and it doesn't justify the
  added complexity to have separate APIs. If you
  need to order them separately, put a conditional
  in your ordering strategy that branches based on
  the type of the first item in the list.
- Remove legacy `order_xyz` methods. These set the
  global ordering but didn't make that clear. Instead,
  the global ordering can be set by `register_ordering :global`.
@myronmarston myronmarston Rename `--default` ordering to `--defined`.
`--default` was never a good name. (Consider that
if we had made `--random` the default, `--default`
would have been even more confusing).
Commits on Sep 28, 2013
@myronmarston myronmarston Merge pull request #1087 from iamvery/fix-formatter-issue-with-mathn-…

Use explicit conversion methods for stringified numbers
Commits on Oct 01, 2013
@myronmarston myronmarston Refactor: store current_example in a local.
* There's no need to call `RSpec.current_example`
  many times in this method.
* This wasn't working correctly for specs that
  create an example group and run it (from within
  the spec itself), as that caused `RSpec.current_example`
  to get cleared when the locally created example
  group completed, even though the spec that created
  the example group had not yet completed.  For an
  example of this, see this rspec-its PR:

rspec/rspec-its#1 (comment)
@JonRowe JonRowe Merge pull request #1090 from rspec/refactor_pending
Refactor: store current_example in a local.
@myronmarston myronmarston Flesh out ordering override cuke. c5979da
@myronmarston myronmarston Fix wonky indentation. 6477ddf
@myronmarston myronmarston Remove unneeded code. df880f0
@myronmarston myronmarston Merge pull request #1025 from rspec/overriding-ordering-in-example-gr…

Example groups can override the default ordering
Commits on Oct 03, 2013
@palfvin palfvin Remove "its" support fa69345
@JonRowe JonRowe Merge pull request #1095 from palfvin/master
Remove "its" support as part of rspec-core issue #1083
@vipulnsward vipulnsward Fix warning about ambiguous argument. 13c90a2
@JonRowe JonRowe Merge pull request #1096 from vipulnsward/fix_ambiguous_warning
Fix warning about ambiguous argument.
Commits on Oct 04, 2013
@JonRowe JonRowe use const_get to load formatters acf2941
@JonRowe JonRowe remove eval from spec e6497aa
@JonRowe JonRowe remove eval with case statement for common usage, potentially breakin…
…g change
@JonRowe JonRowe older versions of ruby dont seem to like const_get used in this fashi…
…on, this is arguably better than eval?
@JonRowe JonRowe comment on default value bd64417
@JonRowe JonRowe allow symbol tag values 51d6eae
@JonRowe JonRowe refactor to gsub 467fbfc
@myronmarston myronmarston Merge pull request #1097 from rspec/remove_more_evals
Remove more evals
Commits on Oct 05, 2013
@JonRowe JonRowe prevent shared example group access across contexts 599d185
@dchelimsky dchelimsky Refactor before, after, and around hooks.
* HookCollection classes wrap Arrays instead of subclassing Array
* Procsy is a class instead of a module
  * no more extending a Proc w/ Procsy at runtime
* Includes an interesting benchmark comparing passing proc
  around using `&block` vs `block`.
@dchelimsky dchelimsky Merge pull request #1101 from rspec/refactor-hooks
Refactor hooks to reduce subclassing of Array and extending Proc objects at runtime.
Commits on Oct 06, 2013
@JonRowe JonRowe warning helper with deprecations refactored ffc9fd2
@JonRowe JonRowe update to use internal warning mechanism f697975
@JonRowe JonRowe assert warnings with lines c8049b5
@JonRowe JonRowe allow supression of call site 5e4c520
@JonRowe JonRowe remove call sites from command line warnings 2185450
@samphippen samphippen Don't leak the other gem being tested against each time. 1971bad
@samphippen samphippen Use pwd instead of relative
attempting to fix a travis bug.
@samphippen samphippen ls the bin directory, trying to debug travis. b5c1578
@samphippen samphippen Use /tmp. Couldn't get ./tmp to work with travis. 9c6b592
@benmoss benmoss Update cukes to new syntax b28bb36
@benmoss benmoss Enforce that specs executed through aruba features use the new `expect`
Commits on Oct 07, 2013
@myronmarston myronmarston Merge pull request #1024 from rspec/improve_warning_mechanism
Improve internal warning mechanism
@myronmarston myronmarston Merge pull request #1102 from benmoss/update_features_expect_syntax
Update cukes to new syntax
Commits on Oct 08, 2013
@JonRowe JonRowe Merge pull request #1106 from lgierth/dont-extend-exception
Don't extend exception

Commits on Oct 09, 2013
@samphippen samphippen Switch back to bundle exec for debugging. 5aa6f46
@samphippen samphippen Merge pull request #1046 from samphippen/test-against-other-rspec-pro…

Test against the other rspec gems in the ci build.
Commits on Oct 10, 2013
@myronmarston myronmarston Address ruby warnings.
/Users/myron/code/rspec-dev/repos/rspec-core/spec/support/helper_methods.rb:39: warning: ambiguous first argument; put parentheses or even spaces
/Users/myron/code/rspec-dev/repos/rspec-core/spec/support/helper_methods.rb:46: warning: ambiguous first argument; put parentheses or even spaces
/Users/myron/code/rspec-dev/repos/rspec-core/spec/rspec/core/configuration_options_spec.rb:10: warning: `+' after local variable is interpreted as binary operator
/Users/myron/code/rspec-dev/repos/rspec-core/spec/rspec/core/configuration_options_spec.rb:10: warning: even though it seems like unary operator
/Users/myron/code/rspec-dev/repos/rspec-core/spec/rspec/core/configuration_spec.rb:480: warning: `+' after local variable is interpreted as binary operator
/Users/myron/code/rspec-dev/repos/rspec-core/spec/rspec/core/configuration_spec.rb:480: warning: even though it seems like unary operator
/Users/myron/code/rspec-dev/repos/rspec-core/spec/rspec/core/configuration_spec.rb:740: warning: `+' after local variable is interpreted as binary operator
/Users/myron/code/rspec-dev/repos/rspec-core/spec/rspec/core/configuration_spec.rb:740: warning: even though it seems like unary operator
@JonRowe JonRowe Merge pull request #1107 from rspec/address_warnings
Address ruby warnings.
@JonRowe JonRowe Changelog entry for preventing shared examples across siblings
[skip ci]
@JonRowe JonRowe Merge pull request #1099 from rspec/prevent_shared_example_access_acr…

Disallow access to sibling shared example groups
@JonRowe JonRowe Better changelog entry for #1099 8c0ff35
Commits on Oct 11, 2013
@myronmarston myronmarston Give example group classes a friendly const name.
Practically, this gives friendly error messages.  Before,
an undefined message called from an example errored like:

undefined local variable or method `foo' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x007f87d15b8078>

…and now it is:

undefined local variable or method `foo' for #<RSpec::UserGroups::RSpecCallerFilter::TheFilteringRegex:0x007f951bd1f300>
@myronmarston myronmarston Assign the const before eval'ing the block. a9cd686
@myronmarston myronmarston Fix 1.8.7.
It's `next` works differently, apparently.
@myronmarston myronmarston Rename UserGroups to ExampleGroups. 3923c7e
@vipulnsward vipulnsward Drop some unused vars 9409399
@myronmarston myronmarston Merge pull request #1109 from vipulnsward/lose-vars
Drop some unused vars
Commits on Oct 12, 2013
@myronmarston myronmarston Update gemspec.
[ci skip]
Commits on Oct 14, 2013
@myronmarston myronmarston Merge pull request #1108 from rspec/friendly-group-class-names
Give example group classes a friendly const name.
Commits on Oct 16, 2013
@myronmarston myronmarston Add release notes for 2.14.6 release.
[ci skip]
Commits on Oct 18, 2013
@myronmarston myronmarston Silence ruby warnings from 3rd party libs. 4cadd31
Commits on Oct 19, 2013
@myronmarston myronmarston Merge pull request #1116 from rspec/silence-other-lib-deprecations
Silence ruby warnings from 3rd party libs.
Commits on Oct 21, 2013
@JonRowe JonRowe add support gem cdf83bf
@JonRowe JonRowe switch to support gem for caller filter 3315cf8
@JonRowe JonRowe remove old caller filter files 96c783b
Commits on Oct 22, 2013
@JonRowe JonRowe Merge pull request #1119 from rspec/switch_to_support_just_caller_filter
Switch just CallerFilter over to rspec-support
Commits on Oct 23, 2013
@ToadJamb ToadJamb Remove the use of srand by localizing random ordering logic bdacf7a
Commits on Oct 24, 2013
@JonRowe JonRowe Allow suppression of local repos 75e2915
@soulcutter soulcutter Limit deprecation output for non-generated messages b6316fa
@soulcutter soulcutter Eliminate DeprecationMessage mixin module 8807716
@soulcutter soulcutter Add period to end of message 1a82011
@soulcutter soulcutter Remove DeprecationWarning base class 0617b1b
@soulcutter soulcutter Merge pull request #1111 from rspec/limit-message-based-deprecations
Limit deprecation output for non-generated messages
@myronmarston myronmarston Fix typo: Gropu => Group
[ci skip]
@JonRowe JonRowe Merge pull request #1124 from rspec/allow_suppression_of_local_repos
Allow suppression of local repos
Commits on Oct 25, 2013
@JonRowe JonRowe switch to support gem for warnings and caller filter 30ed227
@JonRowe JonRowe Remove old warnings c6c983a
@myronmarston myronmarston Merge pull request #1120 from ToadJamb/remove-srand-leakage
Remove the use of srand by localizing random ordering logic
@myronmarston myronmarston Changelog for #1120. 553a3e7
@myronmarston myronmarston Update benchmark for #1120. ab88972
@myronmarston myronmarston Improve randomization cuke.
- Reduce some duplication.
- Put `-` between numbers so it's easy
  to see where the final output came from.
@myronmarston myronmarston Fail build if warnings are emitted. 8fe0125
@myronmarston myronmarston 1.8.7's parser dislikes block arg defaults. e155614
@myronmarston myronmarston Direct RSpec warnings to stdout in our tests.
This is necessary so that only ruby warnings go to
stderr, so that we can fail the build for introducing
ruby warnings.
@myronmarston myronmarston And => Given. bc79902
@myronmarston myronmarston Work around JRuby error.
TypeError: $stderr must have write method, RSpec::StdErrSplitter given
@JonRowe JonRowe Merge pull request #1118 from rspec/fail-build-for-ruby-warnings
Fail build if warnings are emitted.
Commits on Oct 28, 2013
@myronmarston myronmarston Doc updates. d384b17
@myronmarston myronmarston Pin mime-types to version that can install on 1.8. f70c7c5
Commits on Oct 30, 2013
@myronmarston myronmarston Merge pull request #1115 from rspec/switch_to_support
Use warnings from rspec-support
@myronmarston myronmarston Update with 2.14.7 release notes.
[ci skip]
Commits on Nov 01, 2013
@myronmarston myronmarston Add `expose_current_running_example_as` config option.
Fixes #963.
@dchelimsky dchelimsky Extract BaseHookCollection
Previously the HookCollection was acting as a base with the subclasses
overriding (some) methods. With this change, each subclass extends the
base class by adding new methods, not overriding existing ones. Makes it
all a bit easier to reason about.
@dchelimsky dchelimsky Merge pull request #1132 from rspec/hook-collection-hierarchy
Extract BaseHookCollection
@myronmarston myronmarston Ensure the current example can be exposed via multiple helper methods. f91eb3e
@myronmarston myronmarston Isolate this spec from "leaking" changes to the helper module. 046ec85
@soulcutter soulcutter Merge pull request #1133 from rspec/expose_current_running_example_as
Add `expose_current_running_example_as` config option.
Commits on Nov 03, 2013
@myronmarston myronmarston Default `output_stream` to $stdout.
This is what the docs say we do. It's also necessary
so that if `configuration.reporter` is accessed before
the CommandLine class has set the output_stream, it
uses $stdout as its output rather than a ``.

Before, issuing a deprecation from `option_parser.rb`
was causing no spec output at all since that happened
before the output_stream was set.
@myronmarston myronmarston Fix a couple specs so that they explicitly redirect unwanted output.
These specs depended on the reporter defaulting
to a ``. Now that it is defaulting to
`$stdout`, we were getting unwanted output from these
two specs.
@myronmarston myronmarston Use `output_stream` as the standardized method name.
Everything else in RSpec uses `output_stream`.
@myronmarston myronmarston Warn if output_stream is changed after it has already been used by th…
…e reporter.
@myronmarston myronmarston Remove deprecated `out` and `output` methods. 833a443
@myronmarston myronmarston Add changelog entry. b89ed53
Commits on Nov 04, 2013
@myronmarston myronmarston Revert "Swap output stream to current sandbox (Read why)."
This reverts commit a22d524.

This is no longer needed with the new approach we are taking
to `output_stream` (e.g. having it default to $stdout), and
it was causing `command_line_spec.rb` to have a failure when
run in isolation.
@myronmarston myronmarston Stub `warn` to silence "output stream already used" warning.
We don't care about it here.
@myronmarston myronmarston Merge pull request #1142 from rspec/fix-1127-in-master
Fix 1127 in master
@soulcutter soulcutter Add newlines after too many deprecations warnings 1c232b1
@soulcutter soulcutter Group deprecations together separated by newlines bffefb8
@soulcutter soulcutter Merge pull request #1149 from rspec/too-many-deprecations-newline
Group deprecations together separated by newlines
Commits on Nov 05, 2013
@xaviershay xaviershay Consistent formatting of changelog. e27c54e
@myronmarston myronmarston Merge pull request #1154 from rspec/changelog-tidy
Consistent formatting of changelog.
Commits on Nov 06, 2013
@myronmarston myronmarston Remove shared example warning logic for RSpec 1 => 2 upgrades.
We don't need it in RSpec 3.  (It's still in RSpec 2.99).
@JonRowe JonRowe Merge pull request #1156 from rspec/remove-shared-context-rspec-1-upg…

Remove shared example warning logic for RSpec 1 => 2 upgrades.
@myronmarston myronmarston Sync the deprecation formatter file to avoid odd duplicate lines.
When upgrading a project at work, I observed *lots* of duplicate
lines winding up in the deprecation file, even though the
`deprecation_stream.puts` line was only hit a small number of times.
Setting `sync = true` (while debugging the issue) was observed to
fix the problem.  No idea why :(.
@myronmarston myronmarston Don't print duplicate deprecation messages.
When a spec suite uses a helper method that is called
from a global `before` hook and calls a deprecated method,
we only need one deprecation message in our output,
not one per spec.

Note that this only limits *identical* deprecation messages.
The same deprecation from multiple call sites will still
each get printed.

Fixes #1151.
@myronmarston myronmarston Add `require 'set'`.
Since this file depends on it.
@myronmarston myronmarston Merge pull request #1158 from rspec/fix-duplicate-deprecations-master
Fix duplicate deprecations master
Commits on Nov 07, 2013
@myronmarston myronmarston Prevent spec from issuing confusing output.
On ruby 2.0.0, `rspec --seed 1325` would issue confusing
output where the end-of-run summary is printed twice.
See the following example output below.

This spec was the culprit. It's not actually concerned
with running the command line so we might as well stub it out.

Run options:
  include {:focus=>true}
  exclude {:ruby=>#<Proc:./spec/spec_helper.rb:152>}

All examples were filtered out; ignoring {:focus=>true}
.....No examples found.

Finished in 0.00006 seconds
0 examples, 0 failures

Deprecation Warnings:

Using `stub` from the old `:should` syntax without explicitly enabling the syntax is deprecated. Use the new `:expect` syntax or explicitly enable `:should` instead. Called from /Users/myron/code/rspec-dev/repos/rspec-core/spec/rspec/core/runner_spec.rb:57:in `block (3 levels) in <module:Core>'.

1 deprecation warning total

Randomized with seed 5055


  ::DRbCommandLine with server running outputs colorized text when running with --colour option
    # figure out a way to tell the output to say it's tty
    # ./spec/rspec/core/drb_command_line_spec.rb:97

Finished in 2.18 seconds
1126 examples, 0 failures, 1 pending

Randomized with seed 1325
@myronmarston myronmarston Remove unnecessary .rb from require. 2e1e8cb
@myronmarston myronmarston Add config option to raise errors on deprecations. 653068d
@myronmarston myronmarston Add notice about the new option so users are made aware of it. 75e13c2
@myronmarston myronmarston Add changelog entry for new config option. 8d4fc40
@myronmarston myronmarston This is more of an enhancement than a bug fix. d10724e
@JonRowe JonRowe Merge pull request #1160 from rspec/fix-confusing-spec-output
Prevent spec from issuing confusing output.
@myronmarston myronmarston Rename deprecation printer classes.
For the new `raise_errors` option, we were using
the FilePrinter but not actually giving it a File
object. We use it because it immediately prints
deprecations, whereas the IOPrinter delays the printing
of errors until the end, so I think these names are
@myronmarston myronmarston Merge pull request #1161 from rspec/turn-deprecations-into-errors-master
Turn deprecations into errors
@myronmarston myronmarston Update changelog with 2.99.0.beta1 release notes.
[ci skip]
Commits on Nov 08, 2013
@myronmarston myronmarston Setup gem signing. 85270a9
@myronmarston myronmarston Update changelog for 3.0.0.beta1 release [ci skip] bd09b26
@myronmarston myronmarston Release 3.0.0.beta1 fdcaae8