expect 0.0.6 → 0.0.7

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: edc3cd88e9d05092903a37838fc4d788a0c060ed
4
- data.tar.gz: 461f336b1737e23b37c009bc412c9ae69e617326
3
+ metadata.gz: 336151e1a5f05b188de3ad2f0805439d0a5d6f1a
4
+ data.tar.gz: e2217114aa93b3b48b6d53586d007314c6c4d4d7
5
5
  SHA512:
6
- metadata.gz: f25544ad61c275a1333db030c42c8b30f36387c966ee98f49e30d6f3eca6c0c5ee478c7a3051b498861b6ac620975ef1fd16346deeb87171449fb27af4dc3e98
7
- data.tar.gz: 23084bb45623b3a53aaedb056868f2556297c44b01b8834a3a8581b6ecd3dc4f2d08eef877d962fd853f0821ccf9a3d9fd60de0ed0bf39e0a9aaf00d179320ef
6
+ metadata.gz: 176f80942e4a3b2d2bc5af158da01ca5947e9835b6f5ac2e09df118b74d9d182f0432fa55164cec503eb5b3e17d4729a1099c6ae0dec64d057ad479ea804723b
7
+ data.tar.gz: 3c1843de409f2b8b7843149db97a5f9a75de947cd862de7ce39a375bd0468359bfb2ef5b09495e9456741270de02fa72c6ea0719d3f5b58a4a06e73e43169505
data/Gemfile CHANGED
@@ -1,5 +1,3 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
-
5
- gem 'rubysl-irb' if RUBY_ENGINE.eql?('rbx')
@@ -1 +1 @@
1
- 0.0.6
1
+ 0.0.7
@@ -13,7 +13,7 @@ Gem::Specification.new do |spec|
13
13
  spec.executables = spec.files.grep(/^exe\//) { |f| File.basename(f) }
14
14
  spec.require_paths = ['lib']
15
15
 
16
- spec.add_dependency 'matchi', '~> 0.0.3'
16
+ spec.add_dependency 'matchi', '~> 0.0.4'
17
17
 
18
18
  spec.add_development_dependency 'bundler', '~> 1.8'
19
19
  spec.add_development_dependency 'rake', '~> 10.0'
@@ -0,0 +1,7 @@
1
+ module Expect
2
+ # This exception is raised in order to fail a spec.
3
+ #
4
+ # @api private
5
+ class Failure < StandardError
6
+ end
7
+ end
@@ -1,11 +1,20 @@
1
+ require_relative File.join 'exception', 'failure'
1
2
  require_relative 'matcher'
2
3
 
3
4
  module Expect
4
5
  # Wraps the target of an expectation.
5
6
  #
7
+ # @api private
8
+ #
6
9
  # @example
7
- # this { stuff } # => ExpectationTarget wrapping the block
8
- class ExpectationTarget < BasicObject
10
+ # ExpectationTarget.new { 42 }.to equal: 42 # => true
11
+ class ExpectationTarget
12
+ # Create a new expection target
13
+ #
14
+ # @example
15
+ # ExpectationTarget.new { block of code }
16
+ #
17
+ # @yieldparam actual the value which is compared with the expected value.
9
18
  def initialize(&actual)
10
19
  @actual = actual
11
20
  end
@@ -16,9 +25,9 @@ module Expect
16
25
  #
17
26
  # @param [Hash, Symbol] definition
18
27
  #
19
- # @return [Boolean] report if the expectation is true or false
28
+ # @return [Boolean] pass or fail the spec
20
29
  def to(definition)
21
- Matcher.pass?(definition, &@actual)
30
+ match?(definition) || fail(Failure)
22
31
  end
23
32
 
24
33
  # Evaluate to a negative assertion.
@@ -27,9 +36,22 @@ module Expect
27
36
  #
28
37
  # @param [Hash, Symbol] definition
29
38
  #
30
- # @return [Boolean] report if the expectation is true or false
39
+ # @return [Boolean] pass or fail the spec
31
40
  def not_to(definition)
32
- to(definition).equal?(false)
41
+ match?(definition).equal?(false) || fail(Failure)
42
+ end
43
+
44
+ private
45
+
46
+ # Boolean comparison between the actual value and the expected value.
47
+ #
48
+ # @api private
49
+ #
50
+ # @param [Hash, Symbol] definition
51
+ #
52
+ # @return [Boolean] report if the expectation is true or false
53
+ def match?(definition)
54
+ Matcher.pass?(definition, &@actual)
33
55
  end
34
56
  end
35
57
  end
metadata CHANGED
@@ -1,95 +1,95 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: expect
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cyril Wack
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-15 00:00:00.000000000 Z
11
+ date: 2015-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- type: :runtime
15
14
  name: matchi
16
- version_requirements: !ruby/object:Gem::Requirement
15
+ requirement: !ruby/object:Gem::Requirement
17
16
  requirements:
18
17
  - - "~>"
19
18
  - !ruby/object:Gem::Version
20
- version: 0.0.3
19
+ version: 0.0.4
20
+ type: :runtime
21
21
  prerelease: false
22
- requirement: !ruby/object:Gem::Requirement
22
+ version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.0.3
26
+ version: 0.0.4
27
27
  - !ruby/object:Gem::Dependency
28
- type: :development
29
28
  name: bundler
30
- version_requirements: !ruby/object:Gem::Requirement
29
+ requirement: !ruby/object:Gem::Requirement
31
30
  requirements:
32
31
  - - "~>"
33
32
  - !ruby/object:Gem::Version
34
33
  version: '1.8'
34
+ type: :development
35
35
  prerelease: false
36
- requirement: !ruby/object:Gem::Requirement
36
+ version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.8'
41
41
  - !ruby/object:Gem::Dependency
42
- type: :development
43
42
  name: rake
44
- version_requirements: !ruby/object:Gem::Requirement
43
+ requirement: !ruby/object:Gem::Requirement
45
44
  requirements:
46
45
  - - "~>"
47
46
  - !ruby/object:Gem::Version
48
47
  version: '10.0'
48
+ type: :development
49
49
  prerelease: false
50
- requirement: !ruby/object:Gem::Requirement
50
+ version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '10.0'
55
55
  - !ruby/object:Gem::Dependency
56
- type: :development
57
56
  name: yard
58
- version_requirements: !ruby/object:Gem::Requirement
57
+ requirement: !ruby/object:Gem::Requirement
59
58
  requirements:
60
59
  - - "~>"
61
60
  - !ruby/object:Gem::Version
62
61
  version: '0.8'
62
+ type: :development
63
63
  prerelease: false
64
- requirement: !ruby/object:Gem::Requirement
64
+ version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0.8'
69
69
  - !ruby/object:Gem::Dependency
70
- type: :development
71
70
  name: simplecov
72
- version_requirements: !ruby/object:Gem::Requirement
71
+ requirement: !ruby/object:Gem::Requirement
73
72
  requirements:
74
73
  - - "~>"
75
74
  - !ruby/object:Gem::Version
76
75
  version: 0.9.1
76
+ type: :development
77
77
  prerelease: false
78
- requirement: !ruby/object:Gem::Requirement
78
+ version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: 0.9.1
83
83
  - !ruby/object:Gem::Dependency
84
- type: :development
85
84
  name: rubocop
86
- version_requirements: !ruby/object:Gem::Requirement
85
+ requirement: !ruby/object:Gem::Requirement
87
86
  requirements:
88
87
  - - "~>"
89
88
  - !ruby/object:Gem::Version
90
89
  version: '0.29'
90
+ type: :development
91
91
  prerelease: false
92
- requirement: !ruby/object:Gem::Requirement
92
+ version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
@@ -114,6 +114,7 @@ files:
114
114
  - bin/setup
115
115
  - expect.gemspec
116
116
  - lib/expect.rb
117
+ - lib/expect/exception/failure.rb
117
118
  - lib/expect/expectation_target.rb
118
119
  - lib/expect/matcher.rb
119
120
  homepage: https://github.com/fixrb/expect