rspec-expectations 2.6.0 → 2.7.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +2 -2
- data/features/built_in_matchers/README.md +7 -5
- data/features/built_in_matchers/be.feature +1 -1
- data/features/built_in_matchers/cover.feature +1 -1
- data/features/built_in_matchers/expect_error.feature +59 -26
- data/features/built_in_matchers/have.feature +2 -2
- data/features/built_in_matchers/predicates.feature +1 -1
- data/features/step_definitions/additional_cli_steps.rb +1 -1
- data/features/support/env.rb +1 -1
- data/lib/rspec/expectations.rb +0 -2
- data/lib/rspec/expectations/deprecation.rb +6 -4
- data/lib/rspec/expectations/errors.rb +4 -7
- data/lib/rspec/expectations/extensions.rb +1 -0
- data/lib/rspec/expectations/extensions/array.rb +2 -0
- data/lib/rspec/expectations/extensions/kernel.rb +18 -44
- data/lib/rspec/expectations/{backward_compatibility.rb → extensions/object.rb} +5 -3
- data/lib/rspec/expectations/fail_with.rb +8 -5
- data/lib/rspec/expectations/version.rb +5 -4
- data/lib/rspec/matchers.rb +77 -73
- data/lib/rspec/matchers/be.rb +42 -51
- data/lib/rspec/matchers/be_within.rb +1 -1
- data/lib/rspec/matchers/change.rb +5 -13
- data/lib/rspec/matchers/dsl.rb +2 -1
- data/lib/rspec/matchers/eq.rb +3 -3
- data/lib/rspec/matchers/extensions/{instance_exec.rb → instance_eval_with_args.rb} +15 -7
- data/lib/rspec/matchers/has.rb +11 -6
- data/lib/rspec/matchers/have.rb +36 -19
- data/lib/rspec/matchers/match_array.rb +1 -1
- data/lib/rspec/matchers/matcher.rb +5 -5
- data/spec/rspec/matchers/change_spec.rb +38 -0
- data/spec/rspec/matchers/description_generation_spec.rb +32 -32
- data/spec/rspec/matchers/eq_spec.rb +2 -2
- data/spec/rspec/matchers/has_spec.rb +33 -1
- data/spec/rspec/matchers/have_spec.rb +64 -7
- data/spec/rspec/matchers/match_array_spec.rb +0 -3
- data/spec/rspec/matchers/operator_matcher_spec.rb +10 -4
- data/spec/rspec/matchers/raise_error_spec.rb +6 -6
- data/spec/support/classes.rb +21 -10
- metadata +51 -62
- data/.document +0 -5
- data/.gitignore +0 -10
- data/.travis.yml +0 -7
- data/Gemfile +0 -40
- data/Guardfile +0 -5
- data/License.txt +0 -22
- data/Rakefile +0 -81
- data/cucumber.yml +0 -10
- data/features/.nav +0 -29
- data/features/Changelog.md +0 -101
- data/rspec-expectations.gemspec +0 -27
- data/specs.watchr +0 -57
data/.document
DELETED
data/.gitignore
DELETED
data/.travis.yml
DELETED
data/Gemfile
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
source "http://rubygems.org"
|
2
|
-
|
3
|
-
### rspec libs
|
4
|
-
%w[rspec rspec-core rspec-expectations rspec-mocks].each do |lib|
|
5
|
-
library_path = File.expand_path("../../#{lib}", __FILE__)
|
6
|
-
if File.exist?(library_path)
|
7
|
-
gem lib, :path => library_path
|
8
|
-
else
|
9
|
-
gem lib, :git => "git://github.com/rspec/#{lib}.git"
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
### dev dependencies
|
14
|
-
gem "rake", "0.8.7"
|
15
|
-
gem "cucumber", "~> 0.10.2"
|
16
|
-
gem "aruba", "~> 0.3.6"
|
17
|
-
gem "rcov", "0.9.9", :platforms => :mri
|
18
|
-
gem "relish", "0.2.0"
|
19
|
-
gem "guard-rspec", "0.1.9"
|
20
|
-
gem "growl", "1.0.3"
|
21
|
-
gem "nokogiri", "1.4.4"
|
22
|
-
|
23
|
-
platforms :mri_18 do
|
24
|
-
gem 'ruby-debug'
|
25
|
-
end
|
26
|
-
|
27
|
-
platforms :mri_19 do
|
28
|
-
gem 'linecache19', '0.5.11' # 0.5.12 cannot install on 1.9.1, and 0.5.11 appears to work with both 1.9.1 & 1.9.2
|
29
|
-
gem 'ruby-debug19'
|
30
|
-
gem 'ruby-debug-base19', RUBY_VERSION == '1.9.1' ? '0.11.23' : '~> 0.11.24'
|
31
|
-
end
|
32
|
-
|
33
|
-
platforms :mri_18, :mri_19 do
|
34
|
-
gem "rb-fsevent", "~> 0.3.9"
|
35
|
-
gem "ruby-prof", "~> 0.9.2"
|
36
|
-
end
|
37
|
-
|
38
|
-
platforms :jruby do
|
39
|
-
gem "jruby-openssl"
|
40
|
-
end
|
data/Guardfile
DELETED
data/License.txt
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
(The MIT License)
|
2
|
-
|
3
|
-
Copyright (c) 2005 The RSpec Development Team
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
-
a copy of this software and associated documentation files (the
|
7
|
-
"Software"), to deal in the Software without restriction, including
|
8
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
-
permit persons to whom the Software is furnished to do so, subject to
|
11
|
-
the following conditions:
|
12
|
-
|
13
|
-
The above copyright notice and this permission notice shall be
|
14
|
-
included in all copies or substantial portions of the Software.
|
15
|
-
|
16
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
19
|
-
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
20
|
-
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
21
|
-
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
22
|
-
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Rakefile
DELETED
@@ -1,81 +0,0 @@
|
|
1
|
-
require 'bundler'
|
2
|
-
Bundler.setup
|
3
|
-
Bundler::GemHelper.install_tasks
|
4
|
-
|
5
|
-
require 'rake'
|
6
|
-
require 'rake/rdoctask'
|
7
|
-
require 'rspec/core/rake_task'
|
8
|
-
require 'rspec/expectations/version'
|
9
|
-
|
10
|
-
begin
|
11
|
-
require 'cucumber/rake/task'
|
12
|
-
|
13
|
-
class Cucumber::Rake::Task::ForkedCucumberRunner
|
14
|
-
# When cucumber shells out, we still need it to run in the context of our
|
15
|
-
# bundle.
|
16
|
-
def run
|
17
|
-
sh "bundle exec #{RUBY} " + args.join(" ")
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
Cucumber::Rake::Task.new(:cucumber)
|
22
|
-
|
23
|
-
namespace :cucumber do
|
24
|
-
desc "Run cucumber features using rcov"
|
25
|
-
Cucumber::Rake::Task.new :rcov => :cleanup_rcov_files do |t|
|
26
|
-
t.cucumber_opts = %w{--format progress}
|
27
|
-
t.rcov = true
|
28
|
-
t.rcov_opts = %[-Ilib -Ispec --exclude "gems/*,features"]
|
29
|
-
t.rcov_opts << %[--text-report --sort coverage --aggregate coverage.data]
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
rescue LoadError => e
|
34
|
-
puts "unable to load cucumber, some tasks unavailable"
|
35
|
-
task :cucumber do
|
36
|
-
#no-op
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
|
41
|
-
task :cleanup_rcov_files do
|
42
|
-
rm_rf 'coverage.data'
|
43
|
-
end
|
44
|
-
|
45
|
-
desc "Run all examples"
|
46
|
-
RSpec::Core::RakeTask.new(:spec) do |t|
|
47
|
-
t.rspec_opts = %w[--color]
|
48
|
-
end
|
49
|
-
|
50
|
-
|
51
|
-
namespace :spec do
|
52
|
-
desc "Run all examples using rcov"
|
53
|
-
RSpec::Core::RakeTask.new :rcov => :cleanup_rcov_files do |t|
|
54
|
-
t.rcov = true
|
55
|
-
t.rcov_opts = %[-Ilib -Ispec --exclude "gems/*,features"]
|
56
|
-
t.rcov_opts << %[--text-report --sort coverage --no-html --aggregate coverage.data]
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
task :default => [:spec, :cucumber]
|
61
|
-
|
62
|
-
Rake::RDocTask.new do |rdoc|
|
63
|
-
rdoc.rdoc_dir = 'rdoc'
|
64
|
-
rdoc.title = "rspec-expectations #{RSpec::Expectations::Version::STRING}"
|
65
|
-
rdoc.rdoc_files.include('README*')
|
66
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
67
|
-
end
|
68
|
-
|
69
|
-
desc "Push docs/cukes to relishapp using the relish-client-gem"
|
70
|
-
task :relish, :version do |t, args|
|
71
|
-
raise "rake relish[VERSION]" unless args[:version]
|
72
|
-
sh "relish push rspec/rspec-expectations:#{args[:version]}"
|
73
|
-
end
|
74
|
-
|
75
|
-
task :clobber do
|
76
|
-
rm_rf 'doc'
|
77
|
-
rm_rf 'pkg'
|
78
|
-
rm_rf 'tmp'
|
79
|
-
rm_rf 'coverage'
|
80
|
-
end
|
81
|
-
|
data/cucumber.yml
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
<%
|
2
|
-
def tags(tag)
|
3
|
-
tags = [tag]
|
4
|
-
tags << "~@ruby-1.9" if RUBY_VERSION.to_f < 1.9
|
5
|
-
tags.join(" --tags ")
|
6
|
-
end
|
7
|
-
%>
|
8
|
-
|
9
|
-
default: --require features --tags <%= tags("~@wip") %> --format progress
|
10
|
-
wip: --require features --tags <%= tags("@wip:3") --wip features
|
data/features/.nav
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
- Upgrade.md
|
2
|
-
- Changelog.md
|
3
|
-
- customized_message.feature
|
4
|
-
- diffing.feature
|
5
|
-
- implicit_docstrings.feature
|
6
|
-
- built_in_matchers:
|
7
|
-
- be.feature
|
8
|
-
- be_within.feature
|
9
|
-
- equality.feature
|
10
|
-
- exist.feature
|
11
|
-
- expect_change.feature
|
12
|
-
- expect_error.feature
|
13
|
-
- have.feature
|
14
|
-
- include.feature
|
15
|
-
- match.feature
|
16
|
-
- operators.feature
|
17
|
-
- predicates.feature
|
18
|
-
- respond_to.feature
|
19
|
-
- satisfy.feature
|
20
|
-
- throw_symbol.feature
|
21
|
-
- types.feature
|
22
|
-
- custom_matchers:
|
23
|
-
- define_matcher.feature
|
24
|
-
- define_diffable_matcher.feature
|
25
|
-
- define_matcher_with_fluent_interface.feature
|
26
|
-
- access_running_example.feature
|
27
|
-
- define_matcher_outside_rspec.feature
|
28
|
-
- test_frameworks:
|
29
|
-
- test_unit.feature
|
data/features/Changelog.md
DELETED
@@ -1,101 +0,0 @@
|
|
1
|
-
### 2.6.0 / 2011-05-12
|
2
|
-
|
3
|
-
[full changelog](http://github.com/rspec/rspec-expectations/compare/v2.5.0...v2.6.0)
|
4
|
-
|
5
|
-
* Enhancments
|
6
|
-
* `change` matcher accepts Regexps (Robert Davis)
|
7
|
-
* better descriptions for have_xxx matchers (Magnus Bergmark)
|
8
|
-
* range.should cover(*values) (Anders Furseth)
|
9
|
-
|
10
|
-
* Bug fixes
|
11
|
-
* Removed non-ascii characters that were choking rcov (Geoffrey Byers)
|
12
|
-
* change matcher dups arrays and hashes so their before/after states can be
|
13
|
-
compared correctly.
|
14
|
-
* Fix the order of inclusion of RSpec::Matchers in
|
15
|
-
Test::Unit::TestCase and MiniTest::Unit::TestCase to prevent a
|
16
|
-
SystemStackError (Myron Marston)
|
17
|
-
|
18
|
-
### 2.5.0 / 2011-02-05
|
19
|
-
|
20
|
-
[full changelog](http://github.com/rspec/rspec-expectations/compare/v2.4.0...v2.5.0)
|
21
|
-
|
22
|
-
* Enhancements
|
23
|
-
* `should exist` works with `exist?` or `exists?` (Myron Marston)
|
24
|
-
* `expect { ... }.not_to do_something` (in addition to `to_not`)
|
25
|
-
|
26
|
-
* Documentation
|
27
|
-
* improved docs for raise_error matcher (James Almond)
|
28
|
-
|
29
|
-
### 2.4.0 / 2011-01-02
|
30
|
-
|
31
|
-
[full changelog](http://github.com/rspec/rspec-expectations/compare/v2.3.0...v2.4.0)
|
32
|
-
|
33
|
-
No functional changes in this release, which was made to align with the
|
34
|
-
rspec-core-2.4.0 release.
|
35
|
-
|
36
|
-
* Enhancements
|
37
|
-
* improved RDoc for change matcher (Jo Liss)
|
38
|
-
|
39
|
-
### 2.3.0 / 2010-12-12
|
40
|
-
|
41
|
-
[full changelog](http://github.com/rspec/rspec-expectations/compare/v2.2.1...v2.3.0)
|
42
|
-
|
43
|
-
* Enhancements
|
44
|
-
* diff strings when include matcher fails (Mike Sassak)
|
45
|
-
|
46
|
-
### 2.2.0 / 2010-11-28
|
47
|
-
|
48
|
-
[full changelog](http://github.com/rspec/rspec-expectations/compare/v2.1.0...v2.2.0)
|
49
|
-
|
50
|
-
### 2.1.0 / 2010-11-07
|
51
|
-
|
52
|
-
[full changelog](http://github.com/rspec/rspec-expectations/compare/v2.0.1...v2.1.0)
|
53
|
-
|
54
|
-
* Enhancements
|
55
|
-
* be_within(delta).of(expected) matcher (Myron Marston)
|
56
|
-
* Lots of new Cucumber features (Myron Marston)
|
57
|
-
* Raise error if you try "should != expected" on Ruby-1.9 (Myron Marston)
|
58
|
-
* Improved failure messages from throw_symbol (Myron Marston)
|
59
|
-
|
60
|
-
* Bug fixes
|
61
|
-
* Eliminate hard dependency on RSpec::Core (Myron Marston)
|
62
|
-
* have_matcher - use pluralize only when ActiveSupport inflections are indeed
|
63
|
-
defined (Josep M Bach)
|
64
|
-
* throw_symbol matcher no longer swallows exceptions (Myron Marston)
|
65
|
-
* fix matcher chaining to avoid name collisions (Myron Marston)
|
66
|
-
|
67
|
-
### 2.0.0 / 2010-10-10
|
68
|
-
|
69
|
-
[full changelog](http://github.com/rspec/rspec-expectations/compare/v2.0.0.rc...v2.0.0)
|
70
|
-
|
71
|
-
* Enhancements
|
72
|
-
* Add match_for_should_not method to matcher DSL (Myron Marston)
|
73
|
-
|
74
|
-
* Bug fixes
|
75
|
-
* respond_to matcher works correctly with should_not with multiple methods (Myron Marston)
|
76
|
-
* include matcher works correctly with should_not with multiple values (Myron Marston)
|
77
|
-
|
78
|
-
### 2.0.0.rc / 2010-10-05
|
79
|
-
|
80
|
-
[full changelog](http://github.com/rspec/rspec-expectations/compare/v2.0.0.beta.22...v2.0.0.rc)
|
81
|
-
|
82
|
-
* Enhancements
|
83
|
-
* require 'rspec/expectations' in a T::U or MiniUnit suite (Josep M. Bach)
|
84
|
-
|
85
|
-
* Bug fixes
|
86
|
-
* change by 0 passes/fails correctly (Len Smith)
|
87
|
-
* Add description to satisfy matcher
|
88
|
-
|
89
|
-
### 2.0.0.beta.22 / 2010-09-12
|
90
|
-
|
91
|
-
[full changelog](http://github.com/rspec/rspec-expectations/compare/v2.0.0.beta.20...v2.0.0.beta.22)
|
92
|
-
|
93
|
-
* Enhancements
|
94
|
-
* diffing improvements
|
95
|
-
* diff multiline strings
|
96
|
-
* don't diff single line strings
|
97
|
-
* don't diff numbers (silly)
|
98
|
-
* diff regexp + multiline string
|
99
|
-
|
100
|
-
* Bug fixes
|
101
|
-
* should[_not] change now handles boolean values correctly
|
data/rspec-expectations.gemspec
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
$LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
|
3
|
-
require "rspec/expectations/version"
|
4
|
-
|
5
|
-
Gem::Specification.new do |s|
|
6
|
-
s.name = "rspec-expectations"
|
7
|
-
s.version = RSpec::Expectations::Version::STRING
|
8
|
-
s.platform = Gem::Platform::RUBY
|
9
|
-
s.authors = ["David Chelimsky", "Chad Humphries"]
|
10
|
-
s.email = "dchelimsky@gmail.com;chad.humphries@gmail.com"
|
11
|
-
s.homepage = "http://github.com/rspec/rspec-expectations"
|
12
|
-
s.summary = "rspec-expectations-#{RSpec::Expectations::Version::STRING}"
|
13
|
-
s.description = "rspec expectations (should[_not] and matchers)"
|
14
|
-
|
15
|
-
s.rubygems_version = "1.3.7"
|
16
|
-
s.rubyforge_project = "rspec"
|
17
|
-
|
18
|
-
s.files = `git ls-files`.split("\n")
|
19
|
-
s.test_files = `git ls-files -- {spec,features}/*`.split("\n")
|
20
|
-
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
21
|
-
s.extra_rdoc_files = [ "README.md" ]
|
22
|
-
s.rdoc_options = ["--charset=UTF-8"]
|
23
|
-
s.require_path = "lib"
|
24
|
-
|
25
|
-
s.add_runtime_dependency 'diff-lcs', '~> 1.1.2'
|
26
|
-
end
|
27
|
-
|
data/specs.watchr
DELETED
@@ -1,57 +0,0 @@
|
|
1
|
-
# Run me with:
|
2
|
-
#
|
3
|
-
# $ watchr specs.watchr
|
4
|
-
|
5
|
-
# --------------------------------------------------
|
6
|
-
# Convenience Methods
|
7
|
-
# --------------------------------------------------
|
8
|
-
def all_test_files
|
9
|
-
Dir['spec/**/*_spec.rb']
|
10
|
-
end
|
11
|
-
|
12
|
-
def run_test_matching(thing_to_match)
|
13
|
-
matches = all_test_files.grep(/#{thing_to_match}/i)
|
14
|
-
if matches.empty?
|
15
|
-
puts "Sorry, thanks for playing, but there were no matches for #{thing_to_match}"
|
16
|
-
else
|
17
|
-
run matches.join(' ')
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
def run(files_to_run)
|
22
|
-
puts("Running: #{files_to_run}")
|
23
|
-
system("clear;rspec -cfs #{files_to_run}")
|
24
|
-
no_int_for_you
|
25
|
-
end
|
26
|
-
|
27
|
-
def run_all_tests
|
28
|
-
run(all_test_files.join(' '))
|
29
|
-
end
|
30
|
-
|
31
|
-
# --------------------------------------------------
|
32
|
-
# Watchr Rules
|
33
|
-
# --------------------------------------------------
|
34
|
-
watch('^spec/(.*)_spec\.rb' ) { |m| run_test_matching(m[1]) }
|
35
|
-
watch('^lib/(.*)\.rb' ) { |m| run_test_matching(m[1]) }
|
36
|
-
watch('^spec/spec_helper\.rb') { run_all_tests }
|
37
|
-
# --------------------------------------------------
|
38
|
-
# Signal Handling
|
39
|
-
# --------------------------------------------------
|
40
|
-
|
41
|
-
def no_int_for_you
|
42
|
-
@sent_an_int = nil
|
43
|
-
end
|
44
|
-
|
45
|
-
Signal.trap 'INT' do
|
46
|
-
if @sent_an_int then
|
47
|
-
puts " A second INT? Ok, I get the message. Shutting down now."
|
48
|
-
exit
|
49
|
-
else
|
50
|
-
puts " Did you just send me an INT? Ugh. I'll quit for real if you do it again."
|
51
|
-
@sent_an_int = true
|
52
|
-
Kernel.sleep 1.5
|
53
|
-
run_all_tests
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
# vim:ft=ruby
|