rspec 1.2.3 → 1.2.4

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/History.rdoc CHANGED
@@ -1,3 +1,9 @@
1
+ === Version 1.2.4
2
+
3
+ * bug fix
4
+
5
+ * just one - update the manifest
6
+
1
7
  === Version 1.2.3
2
8
 
3
9
  * deprecations
data/Manifest.txt CHANGED
@@ -67,6 +67,7 @@ features/interop/examples_and_tests_together.feature
67
67
  features/interop/rspec_output.feature
68
68
  features/interop/test_but_not_test_unit.feature
69
69
  features/interop/test_case_with_should_methods.feature
70
+ features/matchers/define_diffable_matcher.feature
70
71
  features/matchers/define_matcher.feature
71
72
  features/matchers/define_matcher_outside_rspec.feature
72
73
  features/mock_framework_integration/use_flexmock.feature
@@ -113,6 +114,7 @@ lib/spec/expectations.rb
113
114
  lib/spec/expectations/errors.rb
114
115
  lib/spec/expectations/extensions.rb
115
116
  lib/spec/expectations/extensions/kernel.rb
117
+ lib/spec/expectations/fail_with.rb
116
118
  lib/spec/expectations/handler.rb
117
119
  lib/spec/interop/test.rb
118
120
  lib/spec/interop/test/unit/autorunner.rb
@@ -0,0 +1,26 @@
1
+ Feature: define diffable matcher
2
+
3
+ When a matcher is defined as diffable, and the --diff
4
+ flag is set, the output will include a diff of the submitted
5
+ objects.
6
+
7
+ Scenario: define a diffable matcher
8
+ Given a file named "diffable_matcher_spec.rb" with:
9
+ """
10
+ Spec::Matchers.define :be_just_like do |expected|
11
+ match do |actual|
12
+ actual == expected
13
+ end
14
+
15
+ diffable
16
+ end
17
+
18
+ describe "this" do
19
+ it {should be_just_like("that")}
20
+ end
21
+ """
22
+ When I run "spec diffable_matcher_spec.rb --diff"
23
+ Then the exit code should be 256
24
+
25
+ And the stdout should match "should be just like \"that\""
26
+ And the stdout should match "Diff:\n@@ -1,2 +1,2 @@\n-that\n+this"
@@ -0,0 +1,39 @@
1
+ module Spec
2
+ module Expectations
3
+ class << self
4
+ attr_accessor :differ
5
+
6
+ # raises a Spec::Expectations::ExpectationNotMetError with message
7
+ #
8
+ # When a differ has been assigned and fail_with is passed
9
+ # <code>expected</code> and <code>target</code>, passes them
10
+ # to the differ to append a diff message to the failure message.
11
+ def fail_with(message, expected=nil, target=nil) # :nodoc:
12
+ if (Array === message) & (message.length == 3)
13
+ ::Spec.warn(<<-NOTICE
14
+
15
+ *****************************************************************
16
+ DEPRECATION WARNING: you are using deprecated behaviour that will
17
+ be removed from a future version of RSpec.
18
+
19
+ * Support for matchers that return arrays from failure message
20
+ methods is deprecated.
21
+ * Instead, the matcher should return a string, and expose methods
22
+ for the expected() and actual() values.
23
+ *****************************************************************
24
+ NOTICE
25
+ )
26
+ message, expected, target = message[0], message[1], message[2]
27
+ end
28
+ unless (differ.nil? || expected.nil? || target.nil?)
29
+ if expected.is_a?(String)
30
+ message << "\nDiff:" << self.differ.diff_as_string(target.to_s, expected)
31
+ elsif !target.is_a?(Proc)
32
+ message << "\nDiff:" << self.differ.diff_as_object(target, expected)
33
+ end
34
+ end
35
+ Kernel::raise(Spec::Expectations::ExpectationNotMetError.new(message))
36
+ end
37
+ end
38
+ end
39
+ end
data/lib/spec/version.rb CHANGED
@@ -3,7 +3,7 @@ module Spec # :nodoc:
3
3
  unless defined? MAJOR
4
4
  MAJOR = 1
5
5
  MINOR = 2
6
- TINY = 3
6
+ TINY = 4
7
7
 
8
8
  STRING = [MAJOR, MINOR, TINY].compact.join('.')
9
9
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.3
4
+ version: 1.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - RSpec Development Team
@@ -115,6 +115,7 @@ files:
115
115
  - features/interop/rspec_output.feature
116
116
  - features/interop/test_but_not_test_unit.feature
117
117
  - features/interop/test_case_with_should_methods.feature
118
+ - features/matchers/define_diffable_matcher.feature
118
119
  - features/matchers/define_matcher.feature
119
120
  - features/matchers/define_matcher_outside_rspec.feature
120
121
  - features/mock_framework_integration/use_flexmock.feature
@@ -161,6 +162,7 @@ files:
161
162
  - lib/spec/expectations/errors.rb
162
163
  - lib/spec/expectations/extensions.rb
163
164
  - lib/spec/expectations/extensions/kernel.rb
165
+ - lib/spec/expectations/fail_with.rb
164
166
  - lib/spec/expectations/handler.rb
165
167
  - lib/spec/interop/test.rb
166
168
  - lib/spec/interop/test/unit/autorunner.rb
@@ -410,7 +412,7 @@ homepage: http://rspec.info
410
412
  post_install_message: |
411
413
  **************************************************
412
414
 
413
- Thank you for installing rspec-1.2.3
415
+ Thank you for installing rspec-1.2.4
414
416
 
415
417
  Please be sure to read History.rdoc and Upgrade.rdoc
416
418
  for useful information about this release.
@@ -440,6 +442,6 @@ rubyforge_project: rspec
440
442
  rubygems_version: 1.3.1
441
443
  signing_key:
442
444
  specification_version: 2
443
- summary: rspec 1.2.3
445
+ summary: rspec 1.2.4
444
446
  test_files: []
445
447