Skip to content
This repository
  • 1,339 commits
  • 211 files changed
  • 55 comments
  • 12 contributors
This comparison is big! We're only showing the most recent 250 commits
Mar 13, 2014
Jon Rowe documentation tweaks
[skip ci]
3cb93cc
Jon Rowe dump_profile isn't a real notification, but a helper method it got in…
…cluded accidentally
2af135e
Jon Rowe Merge pull request #1383 from rspec/doc_coverage
Achieve 100% doc coverage
08a48ac
Jon Rowe Merge pull request #1385 from rspec/remove_dump_profile
Remove dump_profile as a notification
874cd59
Adam Farhi HOTFIX: Achieve 100% doc coverage 54f7047
Myron Marston Merge pull request #1387 from yelled3/achieve_100_doc_coverage_hotfix
HOTFIX: Achieve 100% doc coverage
3aa0a4d
Mar 14, 2014
Jon Rowe Updated travis build scripts (from rspec-dev) f81dbfa
Jon Rowe fixup documentation per @lsegal's feedback 610a2bd
Jon Rowe make default return void, as we dont tend to indicate return when its…
… not useful
b4ffdbd
Jon Rowe differ failed examples from normal ones 674a87d
Jon Rowe send extra failure content a failed example notification, fixes #878 ab5cc8a
Myron Marston Merge pull request #1388 from rspec/update-travis-build-scripts-2014-…
…03-14-for-master

Updates from rspec-dev (2014-03-14)
9ba9888
Aaron Kromer Minor typo and trailing whitespace fix. e795f1a
Myron Marston Fix metadata filter to not blow up on unmatched nested hashes. 999d2cc
Myron Marston Refactor HashImitatable a bit.
Provide hooks for including classes to issue
their own deprecation and to set/get values
in whatever manner they wish.

Our upcoming metadata refactoring will rely on this.
a7c5aa1
Myron Marston Refactor metadata so that it is prepopulated. 26dbd01
Myron Marston Change nesting structure of example group metadata.
Historically, an example group's metadata hash has
exposed its computed values via a nested `:example_group`
subhash, and then exposed it's parent's metadata via
an additional `:example_group` subhash nested within
that subhash.  Example:

describe "Parent", :parent => true do
  context "child", :child => true do
    $meta = metadata
  end
end

`$meta` in this example would be a hash like:

{
  :parent => true, # inherited,
  :child => true,
  :example_group => {
    :line_number => 2, # and other computed properties
    :example_group => {
      :parent => true,
      :example_group => { :line_number => 1 } # and others
    }
  }
}

As you can see, this is quite confusing. Why should an example group's metadata have an `:example_group` key that returns its
own metadata?

This commit changes to the following example structure:

{
  :parent => true, # inherited,
  :child => true,
  :line_number => 2, # and other computed properties
  :parent_example_group => {
    :parent => true,
    :line_number => 1 # and others
  }
}

...which is far easier to understand. This also aligns
with how an example's metadata works: it's computed
properties are available directly off of its metadata
hash rather than off of a nested subhash.

We've changed from `:example_group` to `:parent_example_group`
for the parent metadata both because it's a better label
(an example group doesn't have an example group, but it may
have a parent example group) and also because it allows us
to provide backwards compatibility and deprecation notices
when the `:example_group` key is accessed. Note that an
example's metadata hash continues to have a `:example_group`
key that returns the group's metadata; this is not deprecated.
f3ec09f
Myron Marston Move more of the metadata initialization logic into the populators. f6c2ed7
Myron Marston Refactor metadata so it does not subclass hash at all. d28e82b
Myron Marston Simplify a few things related to :parent_example_group.
- Always have a :parent_example_group key. It'll return
  a blank hash if there is no parent example group.
- Simplify how `full_description` is built.
b5cd426
Myron Marston Simplify group metadata default proc.
...and get it to work better on 1.8.7.
1b98d15
Myron Marston Remove extra/duplicate :describes key.
It's confusing and unnecessary to have both
:described_class and :describes be the same thing.

I still need to deprecate :describes in 2.99.
33c0d3c
Myron Marston Store :block in the metadata consistently.
We'll still need to deprecate :example_group_block
in 2.99.
cd651ef
Myron Marston Use `Proc#source_location` rather than `caller` for :location.
As @xaviershay discovered rspec/rspec-mocks#401,
`caller` is surprisingly slow.
e252bac
Myron Marston Doc updates. ec8c074
Myron Marston Add benchmarks to compare our metadata changes vs master.
It appears to be 15+% faster on Ruby 2.0 and 2.1, and about
equal on 1.9.3.
5f33749
Myron Marston Rename `Base` to `HashPopulator`.
Also, no need to provide a default for `block` arg.
f4b7b57
Myron Marston Explain LegacyExampleGroupHash.
[ci skip]
796e5de
Myron Marston Provide deprecated access to removed metadata keys.
- :describes
- :example_group_block
f030d0d
Myron Marston Changelog entries for the metadata changes. c028e97
Mar 15, 2014
Jon Rowe restore `@param name [Type]` format and switch @attr to match 7e99db1
Jon Rowe fixup a warning
[skip ci]
9978c13
Jon Rowe Merge pull request #1389 from rspec/documentation_tweaks
Documentation tweaks
07808e4
Jon Rowe Merge pull request #1390 from rspec/alternative_failure_content
Break out FailedExampleNotification
c8afb7c
Myron Marston Reduce duplication: re-use our caller filter regex. 104889f
Myron Marston Remove deprecated Example#options. d75f1f5
Myron Marston Leverage metadata delegation a bit more. 7a01061
Myron Marston Merge pull request #1391 from rspec/precompute-metadata
Precompute metadata and stop subclassing hash
bd79390
Myron Marston `ExampleGroup.pending` should not blow up when given no block. 9527934
Myron Marston Merge pull request #1398 from rspec/fix-pending-with-no-block
`ExampleGroup.pending` should not blow up when given no block.
92af3fe
Myron Marston Don't mutate the user metadata `:pending` wrongly.
In the metadata, `:pending` expresses user intent,
not the result of the running the example. The result
goes in execution_result. So, we should not mutate
this key based on the result of the example.

There was also some missing test coverage that I added here.

Fixes #1376.
2ebf741
Myron Marston Don't verify mocks if the example already failed.
It adds unnecessary complexity.

Fixes #1363.
e7eeb40
Mar 16, 2014
Jon Rowe this isn't a real public method, but a protected one, I'm thinking ab…
…out moving it into the notification
b774010
Jon Rowe move colorise_summary to notification e455561
Jon Rowe update docs for colourising a summary
[skip ci]
cbc0777
Jon Rowe Merge pull request #1384 from rspec/make_colorize_protected
Make colorize_summary protected
3dbf79e
Jon Rowe changelog for #1384
[skip ci]
bc88af3
Jon Rowe prevent invalid options being displayed in help output 2d45857
Jon Rowe Merge pull request #1395 from rspec/fixup_optparse_output
Cleanup `rspec --help`
a252ae8
Myron Marston Merge pull request #1399 from rspec/fix-issue-1363-and-1376
Fix issue 1363 and 1376
aa43d5a
Myron Marston Add specs for #1376 to prevent future regressions.
I forgot to add specs when I was fixing this before.
d9345d4
Myron Marston A few small doc improvements. e3003cc
Myron Marston Remove code that is no longer needed.
We've updated rspec-expectations.
f011d50
Myron Marston Do not allow `described_class` to be wrongly overridden to be `nil`. abb3328
Myron Marston Merge pull request #1402 from rspec/a-few-misc-changes
A few misc changes
9b6808f
Myron Marston Stop passing only metadata.
`describe some_hash` should make the `subject`
the hash rather than treating it as metadata.
Metadata comes after the description or described
object.

This needs a 2.99 deprecation.
292d442
Myron Marston Allow hashes and symbols to be used as an implicit subject.
Fixes #1240.

This still needs a 2.99 deprecation.
000a5d5
Aaron Kromer Raise error when pending is provided a block.
- Passing a block is explicitly deprecated at this point, so it's
  invalid syntax; invalid method calls should raise `ArgumentError`

  Ruby let's you provide a block to anything, leaving it up to called
  method to decide if it should be used. While this is a feature of the
  language, silently ignored blocks tend to be a source of confusion and
  wasted time. This is especially true when documentation states a block
  can be provided. In this case so many blog posts and other non-RSpec
  controlled docs state `pending` can take a block. Since we can't
  update everyone's docs, it's helpful to be explicit that this is now
  incorrect behavior.

  Printing a warning that this behavior is deprecated and ignoring the
  block is another option. It is my opinion that warnings are simply too
  easily ignored. Thus, an error is preferred to explicitly inform the
  user that this is invalid RSpec language syntax.

- Ignoring the block will fundamentally change the behavior of the
  example in most cases (i.e. the rest of the example will be empty)

  Raising the exception before the example is marked as `pending` is
  desired. This is desired for several reasons:

    * the `pending` syntax is incorrect; QED the example isn't pending
    * it calls attention to the user that the block should be moved
    * this provides a better error message than if the example was
      marked pending and the ArgumentError was raised:

          1) This is my describe block description FIXED
             Expected pending 'My provided pending reasoning' to fail.
             No Error was raised.
9cc6103
Myron Marston Fix 1.8.7 syntax errors.
- 1.8.7 doesn't allow defaults for bock args.
- 1.8.7 doesn't allow trailing commas in lists.
d882fd4
Mar 17, 2014
Myron Marston Merge pull request #1403 from rspec/implicit-subject-fixes
Implicit subject fixes
82226d0
Myron Marston Merge pull request #1394 from cupakromer/warn-on-pending-block
Warn on pending block
184b02c
Mar 18, 2014
Myron Marston Add docs for ExecutionResult. 6c8f04a
Myron Marston Simplify `rescue` clause. c7f01c3
Myron Marston Remove unnecessary layer of indirection. 1652da5
Myron Marston Remove method aliases that we don't need.
Deprecations are still need in 2.99 for these.
f885708
Myron Marston Prefer `def self.<name>` over def within `class << self`. e348ba0
Myron Marston Reformat wrapped trailing conditional. 4ba4f97
Myron Marston Further doc improvements.
[ci skip]
e156ec1
Myron Marston Merge pull request #1406 from rspec/code-audit-changes-part-1
Code audit changes part 1
e794467
Myron Marston Prefer *_exec over *_eval.
- The `_exec` versions do not allow string eval.
  We don't want to do any string eval.
- The `_eval` versions yield the receiver (even
  though it'll be `self` within the block) which
  we don't generally want.
- 1.8.6 lacked `*_exec` so we used `*_eval` in RSpec 2.
8d89dbe
Mar 19, 2014
Myron Marston Clean up `instance_exec_with_rescue`.
- Remove it from `ExampleGroup`. Every ExampleGroup
  instance method is an opportunity for users to
  inadvertently stomp it with their own method def
  since `describe` blocks are eval'd in the context of
  an example group subclass.
- Add specs for suite hook behavior.
- Provide an explicit context for suite hook context.
ab88b2e
René Föhring Add docs badge to README b9826c1
Bradley Schaefer Merge pull request #1410 from rrrene/patch-1
Add docs badge to README
52b18df
Myron Marston Merge pull request #1409 from rspec/code-audit-changes-part-2
Code audit changes part 2
b3a1cde
Myron Marston Refactor example group macros.
They were structured so that they were defining a singleton method on the singleton class (meaning it actually got defined
on the singleton class of the singleton class) which makes
my head hurt. This is far simpler.
909fd04
Myron Marston Remove unnecessary example group methods.
We still need a 2.99 deprecation for these.
af47e70
Myron Marston Improve docs. 3951d7c
Myron Marston Merge pull request #1411 from rspec/code-audit-changes-part-3
Code audit changes part 3
591caf5
Myron Marston Organize ExampleGroup methods into a logical order. e41ae45
Myron Marston Refactor example group aliasing.
- Bring it in line with how example and
  shared example aliasing work.
- Improve the docs.
b8acc5c
Myron Marston Remove `:focused` metadata.
It's a bit silly to double up with `:focused` and `:focus`.

This still needs a 2.99 deprecation.
2d1004f
Myron Marston Add fspecify and fexample for parity with fit. fbcceb2
Myron Marston Provide doc groupings. 6ccf70b
Myron Marston Merge pull request #1413 from rspec/code-audit-changes-part-4
Code audit changes part 4
74b5ade
Myron Marston Port one-liner scenario from line-number option cuke.
It should also work for appending to path.
5523dc7
Myron Marston Remove `--line-number` option.
CLI filtering options are meant to globally apply
but `--line-number` really only makes sense in the
context of a particular file.

rspec path/to/spec.rb:12:23 is a better way to
filter to an example based on the line.

Fixes #1243 and paves the way for #952.
ba6c56c
Mar 20, 2014
Myron Marston Merge pull request #1415 from rspec/remove-line-number-filtering
Remove line number filtering
e1d2c40
Aaron Kromer Force Nokogiri to format meaningful whitespace.
It is still unclear why some systems successfully match the fixture with
the generated HTML, while others fail. However, according to the
following resources, Nokogiri is whitespace sensitive:

- https://groups.google.com/forum/#!topic/nokogiri-talk/P6p46mnhERE
- https://stackoverflow.com/questions/3886059

To quote the above resources:

> In XML, whitespace can be considered meaningful. If you parse a
> document that contains whitespace nodes, libxml2 will assume that
> whitespace nodes are meaningful and will not insert them for you.
>
> You can tell libxml2 that whitespace is not meaningful by passing the
> "noblanks" flag to the parser.

Here we use the block form and tell Nokogiri to run `noblanks` on the
result. We also could pass in the options in the args, but that would
require a more verbose call to handle the unused args:

    Nokogiri::HTML(
      html,
      _url = nil,
      _encoding = nil,
      Nokogiri::XML::ParseOptions::NOBLANKS
    )
eede036
Myron Marston Make `:example` and `:context` scopes primary.
Fixes #1184.
b123c6a
Myron Marston Cleanup some unneeded hooks code. 41d3c38
Myron Marston Improve docs. d97479a
Mar 21, 2014
Jon Rowe Merge pull request #1420 from cupakromer/html-formatter-whitespace-no…
…rmalizer

Force Nokogiri to format meaningful whitespace.
3df9383
Myron Marston More doc improvements. f2fbe68
Myron Marston Limit the number of methods we define in the example scope. aa114a3
Myron Marston Cleanup rake task a bit. 345d392
Myron Marston Merge pull request #1421 from rspec/swap-hook-aliases
Make `:example` and `:context` scopes primary.
339e459
Mar 22, 2014
Jon Rowe remove deprecated cli option d7161b7
Jon Rowe include relevant parts of license from backports
Fixes #1418
[skip ci]
be55f00
Jon Rowe Merge pull request #1419 from rspec/attribution_for_backport_random
Properly attribute backport random code
96e2266
Jon Rowe changelog for #1423
[skip ci]
cfb7b7d
Jon Rowe Merge pull request #1423 from rspec/remove_deprecation_default_path
Remove deprecated --default_path cli option
f6d2769
Jon Rowe add legacy support for colorize_summary f7f0410
Yuji Nakayama Add missing changelog entry for the addition of hook scope aliases
Related to #1174.
a5ec36a
Myron Marston Merge pull request #1426 from yujinakayama/missing-changelog-entry
Add missing changelog entry for the addition of hook scope aliases
0b99ade
Xavier Shay Extract thread local metadata into a single variable. db6f2bf
Xavier Shay Remove misleading comment. c671bcd
Xavier Shay Prevent creating an isolated context when already inside a context.
There is no reason to do this, and it could potentially cause unexpected
bugs.
a56d9e8
Xavier Shay Merge pull request #1429 from rspec/issue-1349
Prevent defining nested isolated contexts
5bd136c
Xavier Shay Remove file existence conditional.
Since we collapsed all the HTML fixtures to be the same file, we no
longer switch on platform.
6485e09
Bradley Schaefer Merge pull request #1431 from rspec/issue-1366
Remove file existence conditional.
0fd9a6c
Mar 23, 2014
Myron Marston Combine drb_command_line and drb_options into one file.
These classes are related and will either be used
together or not at all. Seems better to just have
one drb file.
2c8be02
Jon Rowe Merge pull request #1428 from rspec/legacy_support_for_colorize
Add legacy support for colorize_summary
08bca02
Myron Marston Add doc comment to get back to 100%.
Not sure why this is suddenly needed...
0ff6d88
Xavier Shay Merge pull request #1350 from rspec/deprecation-formatter-fenceposts
Automatically wrap multiline deprecation messages
b7dcca0
Myron Marston Improve docs some more. a443297
Myron Marston Move methods only needed by our tests into spec_helper. b037746
Myron Marston Remove warning detection logic that is in rspec-support now. 97050c4
Myron Marston Merge shared examples collection logic into main shared examples file. 2ec0660
Myron Marston Move shared group registry instance into world.
It belongs there, as that's where global
non-config state belongs.
90ec4a0
Myron Marston Rewrite shared example group scoping specs.
The old specs were coupled to the implementation
(the Collection class), inhibiting refactoring.

As part of this I discovered a bug (see the pending
specs), which I'll fix in the next commit.
ab381f8
Myron Marston Fix bug with shared example group scoping.
Given the following contexts:

# main
describe "Parent" do
  # parent
  context "nested" do
    # child
    include_examples "some shared context"
  end
end

...the lookup algorithm for a shared example group
looked through the following contexts in this
order:

parent -> child -> main

...but it should happen in this order:

child -> parent -> main
5d89caf
Myron Marston Refactor: simplify how shared example groups are found. aaf9b5f
Myron Marston Make `Registry#shared_example_groups` private.
No need for it to be public.
199cf20
Myron Marston Update code and docs to make arguments more explicit. 5b342a3
Myron Marston Access `caller` lazily in a block rather than as an arg.
`caller` can be slow so it's best not to call it if
we don't need it (via `CallerFilter.first_non_rspec_line`).
c24ef7c
Myron Marston Remove extra aliases for creating shared example groups.
We don't need `share_examples_for`, `shared_examples_for`,
`shared_examples` and `shared_context`.

Just `shared_examples` and `shared_context` are needed.
`shared_examples_for` has been around long enough and
reads well enough that we are keeping it, too.

A 2.99 deprecation is needed for this.
c2fb332
Myron Marston Update shared example group docs. a21e627
Myron Marston Add changelog entries. 4abb6d0
Mar 24, 2014
Jon Rowe document default colors
[skip ci]
2e2b511
Jon Rowe Merge pull request #1440 from rspec/document_default_colors
Document default colors
383ec9b
Jon Rowe Merge pull request #1438 from rspec/drb-reorg
Combine drb_command_line and drb_options into one file.
f1ebc19
Myron Marston Merge pull request #1425 from rspec/cleanup-shared-examples-code
Cleanup shared examples code (and a few other things)
b121af0
Myron Marston Set $VERBOSE immediately.
This ensures that files loaded by `--require`
will have the flag set so that anything that
triggers a ruby warning will get printed as
expected.
ed090e6
Myron Marston Rename boolean flag so it's a predicate.
Still needs a 2.99 deprecation.
10c5205
Myron Marston Merge pull request #1445 from rspec/fix-1444
Fix 1444
17026cd
Sam Phippen Remove the automatic call to RSpec.reset.
As far as I (Myron) can tell, the reset doesn't
provide any useful value to folks running specs
the normal way via the `rspec` command, and it
takes a bit of extra time to do so. It also limits
flexibility as alternate runners can't prevent RSpec
from calling this if they do not want it, but by
us no longer calling it, they can now decide if they
want things reset and can call it at the appropriate time.
c835f17
Myron Marston Merge pull request #1443 from rspec/resurrect-703
Remove the automatic call to RSpec.reset.
8e0429a
Myron Marston Store execution result as a symbol rather than a string.
It makes more semantic sense and can safe a bit of memory.

Strings are still returned from the deprecated hash
interface for backwards compatibility.

Note: I didn't provide a deprecation warning since
the hash interface is already deprecated. When extension
authors update to use the new interface they'll notice
it's a symbol and will deal with it appropriately.

Fixes #1436.
1d230d2
Mar 25, 2014
Myron Marston Merge pull request #1448 from rspec/execution-result-status-as-symbol
Store execution result as a symbol rather than a string.
51a8a9e
Myron Marston Improve message a bit. 2f74d5d
Xavier Shay Fix the common case where multiline deprecations have a trailing newl…
…ine.
8424bdc
Myron Marston Remove unnecessary code.
It's simpler to make the caller responsible for
creating the ConfigurationOptions instance.

None of our lib code actually relied upon the array
behavior.
54be296
Myron Marston Remove some semantic confusion from ConfigurationOptions.
Previously it was passed a `Configuration` instance
via `configure` and also referenced `RSpec.configuration`.
In practice, these were the same instance but it was
confusing to have two references to them that could be
different.

In addition, `configure` would set `config.filter_manager`
to the local filter manager instance, which would have
led to odd behavior if the configuration instances
were different, as it could cause previously set filters
on the config instance to be discarded.
381b068
Xavier Shay Merge pull request #1453 from rspec/fix-deprecation-formatter
Better formatting for the common case where multiline deprecations have a trailing newline.
99da92d
Myron Marston Remove code that wasn't doing anything.
The `AT_EXIT_HOOK_BACKTRACE_LINE` was wrong now,
anyway -- the hook was more than 2 lines before
the constant declaration. So it was no longer
serving it's purpose. I can't repro the original
bug now, anyway, and it was related to our `at_exit`
hook which is no longer used when running specs
via the `rspec` command.
9df8843
Myron Marston Improve Runner docs.
Also, reorder the code so that the public methods
are given a place of prominence at the top.
9fe72c4
Ben Hoskings Split CommandLine#run into #setup and #run_specs.
These two tasks have to be performed separately from libraries like test-queue.
15a2962
Ben Hoskings Parameterise the example_groups run in CommandLine.
Libraries like test-queue run a custom list of groups per worker
(in the test-queue case, the list wraps a socket that receives
example groups from the master). Parameterising the list here
allows a custom list to be supplied cleanly.
8ae9633
Mar 26, 2014
Jon Rowe Merge pull request #1450 from rspec/improved_message
Improve message a bit.
6dba1ab
Myron Marston Merge CommandLine into Runner.
Both contained code related to running the specs.
`CommandLine` was really just the object the
`Runner` class methods delegated to. It wasn't
related to the command line much at all -- it was
used anytime the specs were run (not just when run
from the command line) and it didn't do any command
line parsing or anything like that.

`Runner` is a better name for it. Since it has only
instance methods and the existing `Runner` has only
class methods, merging it works nicely :).

This also provides a simple, clean mechanism for alternate
runners to extend RSpec: they can subclass `Runner`
and override the class methods, the instance methods,
or either. Since we just use `self.new` to create the
runner instance, they don't have to override the
class methods in order to make it use an instance
of their subclass.
7c02260
Myron Marston Update specs to better show intent for subclassing. a5bd210
Myron Marston Ensure the expected example count is reported accurately. 76bcb28
Myron Marston I prefer `.` for message sends.
`::` is primarily for constant scoping. Using it
for message sends is a bit non-standard.
fbbeb5e
Myron Marston Add changelog entries. 8043865
Myron Marston Merge pull request #1454 from rspec/runner-improvements
Runner improvements
e204adc
Myron Marston Make ConfigurationOptions officially public.
Closes #1355.
6bdeefd
Myron Marston Move `drb_argv_for` into the class where it belongs. a90c082
Myron Marston Rename `DrbOptions` to `DRbOptions`.
All the stdlib DRb stuff uses the "DRb" casing,
so we should follow that.
8431ca3
Myron Marston Rename `DRbCommandLine` to `DRbRunner`.
As in 7c02260,
I don't feel like `CommandLine` describes
what the class did. Runner makes more sense.
5ba5d3c
Myron Marston Declare DRb classes private.
There's no good reason for these to be public.
As far as I can tell, there is no external code
using them. I did a github search and couldn't
find anything, and looked in detail at the one
project I expected to use them (spark) and it
does not.
01d2a12
Myron Marston Add missing change logs for 3.0.0.beta1 ordering changes.
[ci skip]
aa8547e
Mar 27, 2014
Myron Marston Implement the last pending spec. 09b6d6d
Myron Marston Cleanup some more docs. 44f2886
Myron Marston Merge pull request #1457 from rspec/make-ConfigurationOptions-public
Make configuration options public
5300faf
Myron Marston Merge pull request #1456 from rspec/add-ordering-changelogs
Add missing change logs for 3.0.0.beta1 ordering changes.
c061422
Myron Marston Add `--deprecation-out` CLI option. f7463da
Myron Marston Update the "too many deprecations" message.
...so that it mentions the new `--deprecation-out` CLI option.
45a7cf2
Myron Marston Warn if setting `config.deprecation_stream` is ignored. cd5f02f
Mar 28, 2014
Myron Marston Merge pull request #1458 from rspec/deprecation-stream-fixes-3-0
Deprecation stream fixes 3 0
12e98d7
Mar 29, 2014
Myron Marston Updated travis build scripts (from rspec-dev) 8957394
Myron Marston Merge pull request #1463 from rspec/update-travis-build-scripts-2014-…
…03-29-for-master

Updates from rspec-dev (2014-03-29)
04df266
Mar 30, 2014
Jon Rowe see if we still need rbx specific dependencies 1ad3197
Jon Rowe Rework color_enabled a694302
Jon Rowe remove backtrace_cleaner e946ed0
Jon Rowe remove filename_pattern as an alias of pattern (choosen because patte…
…rn matches cli)
aaffc51
Jon Rowe fixup color_enabled docs ddbe609
Myron Marston Merge pull request #1464 from rspec/try_travis_without_rubysl
Try Travis RBX builds without specific gemfile dependencies
8dc7418
Myron Marston Updated travis build scripts (from rspec-dev) b6493b8
Myron Marston Merge pull request #1467 from rspec/update-travis-build-scripts-2014-…
…03-30-for-master

Updates from rspec-dev (2014-03-30)
3368686
Xavier Shay Provide assertions accessor for minitest.
Bumps cucumber version to allow integration tests against minitest 5.
1b676ae
Myron Marston Merge pull request #1462 from rspec/issue-1354
Provide assertions accessor for minitest.
c74d3e8
Mar 31, 2014
Jon Rowe Merge pull request #1460 from rspec/remove_deprecated_config
Remove deprecated config
77da9aa
Jon Rowe configure load time with formatters / reporter c0e88f8
Jon Rowe base formatter describes capturing load time 4c357da
Jon Rowe reporting load time in base_text_formatter c126d1d
Jon Rowe Update start & summary notification with load time and use notificati…
…ons to report load time
8235f76
Jon Rowe capture start time as early as possible 96fdf7a
Jon Rowe specify behaviour of no loadtime dd49923
Jon Rowe enforce usage of load time in notifications 8852ea6
Jon Rowe alternate implementation providing load_time to legacy formatters cc9b5e3
Jon Rowe changelog for #1427 09d2d62
Jon Rowe Merge pull request #1427 from rspec/report_load_time
Report load time to formatters
bbfdc7c
Myron Marston Add :parent_example_group to RESERVED_KEYS.
It's managed by us so users shouldn't pass that metadata.
a079e0b
Apr 01, 2014
Jon Rowe Merge pull request #1468 from rspec/update-reserved-keys
Add :parent_example_group to RESERVED_KEYS.
77cc21e
Apr 03, 2014
Alexey Fedorov [fix rspec/rspec-core#1433] Added option to disable all monkey patching
- Added option to disable all monkey patching
- Fixed syntax to support ruby-1.8.7
- Refactored disable_monkey_patching!. Added docs, feature.
- Moved monkey patching specs to proper place
- Fixed zero monkey patching feature to support ruby-1.8.7
- Re-written specs to be more BDD-ish.
- Re-written docs for disable_monkey_patching!
- Made non-configured frameworks specs easier
- Fixed cuke to be lighter
- Fixed specs to support 1.8.7
- Improved rspec_<lib>_loaded? a bit;
- Improved not configured frameworks specs.
- Fixed typo in comments-docs.
- Fixed docs; rewritten feature.
- Re-written to use `in_sub_process`.
- Added missing yield to
  emulate_not_configured_expectation_framework
d133672
Myron Marston Merge pull request #1465 from waterlink/issue-1433-disable-all-monkey…
…-patching-option

Added option to disable all monkey patching
914cf0a
Myron Marston Add changelog for #1465.
[ci skip]
b374b81
Myron Marston Run against all examples (including `describe` one). b897913
Apr 05, 2014
Aaron Kromer Standardize capitalization of scenarios.
When viewing in Relish, scenarios read as section titles. General
punctuation dictates that section titles should start capitalized.
312f929
Aaron Kromer Use a more explicit scenario description. 91f4e6b
Aaron Kromer Update feature description. f4361d1
Aaron Kromer Standardize on `RSpec.describe` over `describe`. bf37a20
Aaron Kromer Surround inline code in back ticks. eb02899
Aaron Kromer Correct note about x-aliases now skipping. 1a40a32
Aaron Kromer Make CLI flags explicit across features. eddecbd
Aaron Kromer Adjust grammar and HTML rendering.
- Explicitly specify the code block format for Relish
- Adjust wording to keep related topics together
bbe256f
Aaron Kromer Add `skip` to CLI output --format scenarios. 6f7a193
Aaron Kromer Add new scenario describing a simple name alias.
Adjust the spec file names to match the description.
f9698b9
Aaron Kromer Whitespace only update. d69b368
Aaron Kromer Replace order feature with basic description. 94f9cb8
Aaron Kromer Use code backticks in feature and scenario names. c0a6860
Aaron Kromer Use triple backticks for description code blocks.
Relish supports using triple backticks for code blocks in markdown. This
is primarily used in feature descriptions. Relish has a few issues with
supporting naming the syntax with triple backticks. We'll standardize on
this method while Relish works the remaining issues out.
f44ec40
Aaron Kromer Minor grammatical update.
- Bold notes, warnings, etc. titles
- Move convention into a sub-heading
c468279
Aaron Kromer Standardize on `RSpec.describe` over `describe`. f3a1a8a
Apr 06, 2014
Jon Rowe make rspec-cores Gemfile match mocks/expectations setup for yard 73635b7
Jon Rowe document base text formatter f593bab
Jon Rowe add docs for formatter loader readers 6d73c35
Jon Rowe hide some attr readers 8b6b815
Jon Rowe fixup documentation for configuration 170adbe
Myron Marston Merge pull request #1449 from rspec/match_core_to_expectations_mocks
Make rspec-cores Gemfile match mocks/expectations setup for yard
e4e43d2
Apr 07, 2014
Aaron Kromer Update allowed syntax to remove should by default.
- Remove one-liner `should` and `should_not`
- Allow for full override of the customizations
49ca43e
Aaron Kromer Include new doc standards with new feature.
Adjust whitespace for feature description based on space taken by added
tags.
26e41c8
Aaron Kromer A few more minor grammar and formatting updates. cccb32b
Apr 09, 2014
Aaron Kromer Merge pull request #1461 from rspec/misc-doc-updates
Misc doc updates
4984a2b
Myron Marston Provide Example interface on around hook yielded arg.
Fixes #1477.
92476ad
Myron Marston Improve Example docs. ec03ab2
Myron Marston Merge pull request #1479 from rspec/fix-around-hook-yielded-arg
Fix around hook yielded arg
a34d983
Apr 10, 2014
Aaron Kromer Fix example description to match option under test 479a4dc
Aaron Kromer Broaden the path types for setting formatters.
By inversing the check for what a `path`, a broader range of types are
accepted:

  - `String` paths
  - `Pathname` paths
  - `File`
  - Any `IO`
  - `StringIO`
  - Custom "streams"

Do not use `IO === p` for the path check as this does not permit
`StringIO` streams[1]. Use `puts` for the `respond_to` check, instead of
the stream-y `write`, since several internal "streams" only implement
`puts` (`RaiseErrorStream` and `FileStream`).

[1] https://www.ruby-forum.com/topic/127817
94333fe
Apr 12, 2014
Aaron Kromer Include fix in Changelog. 22fca75
Aaron Kromer Merge pull request #1478 from rspec/deprecation-stream-pathname
Support `Pathname` for output streams.
9e24b2b
Xavier Shay Line number always takes precendence when running with filters. 10841f8
Xavier Shay Collapse two similar methods, the name is sufficient to cover both ca…
…ses.
ddff2c3
Xavier Shay Add spec to cover preferential treatment of description match. 9bd0340
Xavier Shay Merge pull request #1474 from rspec/issue-779
Line number always takes precendence when running with filters.
2306eaa
Myron Marston Merge pull request #1470 from rspec/remove_legacy_formatter_support
Remove support for inherited legacy formatters [WIP]
ba977f1
Apr 13, 2014
Jon Rowe remove support for legacy formatters b8440af
Jon Rowe changelog for #1470 1e4783c
Apr 16, 2014
Jon Rowe dup formater_loader.formatters when returning from config d1976e1
Jon Rowe remove unnecessary tag
[skip ci]
72adec7
Jon Rowe changelog for #1486
[skip ci]
2a4c77b
Jon Rowe Merge pull request #1486 from rspec/return_formatters_dup
Dup formatters to prevent mutation
7f3ace2
Apr 17, 2014
Myron Marston Fix metadata backwards compat to handle deep nesting.
This is a bit confusing, but the behavior in 2.x was:

* a group's `metadata` did not have it's computed
  keys directly available; they were exposed off of
  the `:example_group` subhash.
* The `:example_group` subhash had a `:example_group`
  key that exposed the parent group's metadata
  (both user metadata and computed keys).

Before this, we were inserting extra `:example_group`
subhashes between the layers.
c0f9b8a
Postmodern Move rake task definition into #define. 5b49880
Postmodern Moved ivar initialization back into #initialize. 32258ca
Myron Marston Fix another bug in metadata backwards compatibility.
In RSpec 2.x, an example's `metadata[:example_group]`
did not returned it's example group's `metadata`,
but rather it's example group's `metadata[:example_group]`,
which is where all the computed values for the example
group went.

In RSpec 3, we've simplified this nesting structure
(it's silly to put an example group's computed
properties on a nested subhash keyed by `:example_group`),
but our backwards compatibility didn't work properly with this.

The problem was that `example.metadata[:example_group][:example_group]`
returned the `LegacyExampleGroupHash` available off of
`example.example_group.metadata[:example_group]`, which contains
the computed properties of the example group, but on 2.99 this
returned the computed properties of the parent group of the example's
group.

Unfortunately, I had to make one spec pending as I can't find
a way to keep it passing with the difference in how the
metadata is exposed from an example vs a group, but it really
only matters when people mutate the metadata hash and that's
not a normal, supported use case.  I think the backwards compatibility
is more important right now.  We may revert this at some point
after 3.0's been out for awhile and people have had time to
adjust to the deprecation warnings issued for the metadata changes.
9ffcc38
Myron Marston Merge pull request #1490 from rspec/metadata-regression
Fix a regression in our metadata backwards compatibility
b691a41
Apr 18, 2014
Jon Rowe Merge pull request #1493 from postmodern/code_smell
Code smell
a1518a3
Apr 19, 2014
Xavier Shay Remove reference to loading rails in spec helper documentation.
We haven't updated rspec-rails to not do this yet, and we should be
consistent. Added an extra sentence suggesting the direction we are
moving.

Related: writing that sentence without using "require" three times was a
difficult exercise.
d3e94bd
Myron Marston Merge pull request #1495 from rspec/spec-helper-doc
Remove reference to loading rails in spec helper documentation.
6b67068