spectus 3.0.9 → 3.1.3
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 +4 -4
- data/LICENSE.md +1 -1
- data/README.md +67 -84
- data/lib/spectus.rb +3 -5
- data/lib/spectus/exam.rb +56 -0
- data/lib/spectus/expectation_target.rb +87 -70
- data/lib/spectus/requirement_level/base.rb +50 -75
- data/lib/spectus/requirement_level/may.rb +17 -0
- data/lib/spectus/requirement_level/must.rb +17 -0
- data/lib/spectus/requirement_level/should.rb +17 -0
- data/lib/spectus/result/common.rb +174 -0
- data/lib/spectus/result/fail.rb +40 -17
- data/lib/spectus/result/pass.rb +48 -21
- metadata +87 -91
- data/.gitignore +0 -11
- data/.rubocop.yml +0 -1
- data/.rubocop_todo.yml +0 -56
- data/.travis.yml +0 -28
- data/.yardopts +0 -1
- data/CODE_OF_CONDUCT.md +0 -13
- data/Gemfile +0 -5
- data/Rakefile +0 -23
- data/VERSION.semver +0 -1
- data/bin/console +0 -8
- data/bin/setup +0 -6
- data/checksum/spectus-2.0.0.gem.sha512 +0 -1
- data/checksum/spectus-2.0.1.gem.sha512 +0 -1
- data/checksum/spectus-2.0.2.gem.sha512 +0 -1
- data/checksum/spectus-2.0.3.gem.sha512 +0 -1
- data/checksum/spectus-2.0.4.gem.sha512 +0 -1
- data/checksum/spectus-2.1.0.gem.sha512 +0 -1
- data/checksum/spectus-2.1.1.gem.sha512 +0 -1
- data/checksum/spectus-2.1.2.gem.sha512 +0 -1
- data/checksum/spectus-2.1.3.gem.sha512 +0 -1
- data/checksum/spectus-2.10.0.gem.sha512 +0 -1
- data/checksum/spectus-2.2.0.gem.sha512 +0 -1
- data/checksum/spectus-2.3.0.gem.sha512 +0 -1
- data/checksum/spectus-2.3.1.gem.sha512 +0 -1
- data/checksum/spectus-2.4.0.gem.sha512 +0 -1
- data/checksum/spectus-2.5.0.gem.sha512 +0 -1
- data/checksum/spectus-2.6.0.gem.sha512 +0 -1
- data/checksum/spectus-2.7.0.gem.sha512 +0 -1
- data/checksum/spectus-2.7.1.gem.sha512 +0 -1
- data/checksum/spectus-2.8.0.gem.sha512 +0 -1
- data/checksum/spectus-2.9.0.gem.sha512 +0 -1
- data/checksum/spectus-2.9.1.gem.sha512 +0 -1
- data/checksum/spectus-2.9.2.gem.sha512 +0 -1
- data/checksum/spectus-3.0.0.gem.sha512 +0 -1
- data/checksum/spectus-3.0.1.gem.sha512 +0 -1
- data/checksum/spectus-3.0.2.gem.sha512 +0 -1
- data/checksum/spectus-3.0.3.gem.sha512 +0 -1
- data/checksum/spectus-3.0.5.gem.sha512 +0 -1
- data/checksum/spectus-3.0.6.gem.sha512 +0 -1
- data/checksum/spectus-3.0.7.gem.sha512 +0 -1
- data/checksum/spectus-3.0.8.gem.sha512 +0 -1
- data/lib/spectus/matchers.rb +0 -33
- data/lib/spectus/report.rb +0 -92
- data/lib/spectus/requirement_level/high.rb +0 -27
- data/lib/spectus/requirement_level/low.rb +0 -27
- data/lib/spectus/requirement_level/medium.rb +0 -27
- data/lib/spectus/result/base.rb +0 -112
- data/lib/spectus/sandbox.rb +0 -61
- data/pkg_checksum +0 -12
- data/spectus.gemspec +0 -28
data/lib/spectus/result/pass.rb
CHANGED
@@ -1,56 +1,83 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative
|
3
|
+
require_relative "common"
|
4
4
|
|
5
5
|
module Spectus
|
6
6
|
module Result
|
7
7
|
# The class that is responsible for reporting that the expectation is true.
|
8
8
|
class Pass
|
9
|
-
include
|
9
|
+
include Common
|
10
10
|
|
11
|
-
|
11
|
+
alias message to_s
|
12
|
+
|
13
|
+
# Did the test fail?
|
12
14
|
#
|
13
|
-
# @return [
|
14
|
-
|
15
|
+
# @return [Boolean] The spec passed or failed?
|
16
|
+
def failed?
|
17
|
+
false
|
18
|
+
end
|
15
19
|
|
16
|
-
#
|
20
|
+
# Did the test pass?
|
17
21
|
#
|
18
|
-
# @return [Boolean] The spec
|
19
|
-
def
|
20
|
-
|
22
|
+
# @return [Boolean] The spec passed or failed?
|
23
|
+
def passed?
|
24
|
+
!failed?
|
21
25
|
end
|
22
26
|
|
23
|
-
# The state of
|
27
|
+
# The state of failure.
|
24
28
|
#
|
25
|
-
# @return [Boolean] The test was a
|
26
|
-
def
|
27
|
-
|
29
|
+
# @return [Boolean] The test was a failure?
|
30
|
+
def failure?
|
31
|
+
false
|
28
32
|
end
|
29
33
|
|
30
34
|
# The state of info.
|
31
35
|
#
|
32
|
-
# @return [Boolean] The test was an info
|
36
|
+
# @return [Boolean] The test was an info?
|
33
37
|
def info?
|
34
|
-
!
|
38
|
+
!error.nil?
|
39
|
+
end
|
40
|
+
|
41
|
+
# The state of warning.
|
42
|
+
#
|
43
|
+
# @return [Boolean] The test was a warning?
|
44
|
+
def warning?
|
45
|
+
got.equal?(false)
|
35
46
|
end
|
36
47
|
|
37
48
|
# Identify the state of the result.
|
38
49
|
#
|
39
50
|
# @return [Symbol] The identifier of the state.
|
40
51
|
def to_sym
|
41
|
-
|
52
|
+
return :success if success?
|
53
|
+
return :warning if warning?
|
54
|
+
|
55
|
+
:info
|
42
56
|
end
|
43
57
|
|
44
58
|
# Express the result with one char.
|
45
59
|
#
|
46
|
-
# @param color [Boolean] Enable the color.
|
47
|
-
#
|
48
60
|
# @return [String] The char that identify the result.
|
49
|
-
def
|
61
|
+
def char
|
62
|
+
if success?
|
63
|
+
"."
|
64
|
+
elsif warning?
|
65
|
+
"W"
|
66
|
+
else
|
67
|
+
"I"
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
# Express the result with one emoji.
|
72
|
+
#
|
73
|
+
# @return [String] The emoji that identify the result.
|
74
|
+
def emoji
|
50
75
|
if success?
|
51
|
-
|
76
|
+
"✅"
|
77
|
+
elsif warning?
|
78
|
+
"⚠️"
|
52
79
|
else
|
53
|
-
|
80
|
+
"💡"
|
54
81
|
end
|
55
82
|
end
|
56
83
|
end
|
metadata
CHANGED
@@ -1,191 +1,187 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spectus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cyril Kato
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: defi
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 2.0.4
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 2.0.4
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: matchi
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 2.0.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 2.0.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: brutal
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
48
|
-
type: :
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: bundler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rake
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
75
|
+
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
82
|
+
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name: rubocop
|
84
|
+
name: rubocop-md
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '0
|
89
|
+
version: '0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rubocop-performance
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
95
109
|
- !ruby/object:Gem::Version
|
96
|
-
version: '0
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rubocop-rake
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rubocop-thread_safety
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
97
139
|
- !ruby/object:Gem::Dependency
|
98
140
|
name: simplecov
|
99
141
|
requirement: !ruby/object:Gem::Requirement
|
100
142
|
requirements:
|
101
|
-
- - "
|
143
|
+
- - ">="
|
102
144
|
- !ruby/object:Gem::Version
|
103
|
-
version: '0
|
145
|
+
version: '0'
|
104
146
|
type: :development
|
105
147
|
prerelease: false
|
106
148
|
version_requirements: !ruby/object:Gem::Requirement
|
107
149
|
requirements:
|
108
|
-
- - "
|
150
|
+
- - ">="
|
109
151
|
- !ruby/object:Gem::Version
|
110
|
-
version: '0
|
152
|
+
version: '0'
|
111
153
|
- !ruby/object:Gem::Dependency
|
112
154
|
name: yard
|
113
155
|
requirement: !ruby/object:Gem::Requirement
|
114
156
|
requirements:
|
115
|
-
- - "
|
157
|
+
- - ">="
|
116
158
|
- !ruby/object:Gem::Version
|
117
|
-
version: '0
|
159
|
+
version: '0'
|
118
160
|
type: :development
|
119
161
|
prerelease: false
|
120
162
|
version_requirements: !ruby/object:Gem::Requirement
|
121
163
|
requirements:
|
122
|
-
- - "
|
164
|
+
- - ">="
|
123
165
|
- !ruby/object:Gem::Version
|
124
|
-
version: '0
|
125
|
-
description: Expectation library with RFC 2119's requirement levels
|
126
|
-
email:
|
127
|
-
- contact@cyril.email
|
166
|
+
version: '0'
|
167
|
+
description: "Expectation library with RFC 2119's requirement levels \U0001F6A5"
|
168
|
+
email: contact@cyril.email
|
128
169
|
executables: []
|
129
170
|
extensions: []
|
130
171
|
extra_rdoc_files: []
|
131
172
|
files:
|
132
|
-
- ".gitignore"
|
133
|
-
- ".rubocop.yml"
|
134
|
-
- ".rubocop_todo.yml"
|
135
|
-
- ".travis.yml"
|
136
|
-
- ".yardopts"
|
137
|
-
- CODE_OF_CONDUCT.md
|
138
|
-
- Gemfile
|
139
173
|
- LICENSE.md
|
140
174
|
- README.md
|
141
|
-
- Rakefile
|
142
|
-
- VERSION.semver
|
143
|
-
- bin/console
|
144
|
-
- bin/setup
|
145
|
-
- checksum/spectus-2.0.0.gem.sha512
|
146
|
-
- checksum/spectus-2.0.1.gem.sha512
|
147
|
-
- checksum/spectus-2.0.2.gem.sha512
|
148
|
-
- checksum/spectus-2.0.3.gem.sha512
|
149
|
-
- checksum/spectus-2.0.4.gem.sha512
|
150
|
-
- checksum/spectus-2.1.0.gem.sha512
|
151
|
-
- checksum/spectus-2.1.1.gem.sha512
|
152
|
-
- checksum/spectus-2.1.2.gem.sha512
|
153
|
-
- checksum/spectus-2.1.3.gem.sha512
|
154
|
-
- checksum/spectus-2.10.0.gem.sha512
|
155
|
-
- checksum/spectus-2.2.0.gem.sha512
|
156
|
-
- checksum/spectus-2.3.0.gem.sha512
|
157
|
-
- checksum/spectus-2.3.1.gem.sha512
|
158
|
-
- checksum/spectus-2.4.0.gem.sha512
|
159
|
-
- checksum/spectus-2.5.0.gem.sha512
|
160
|
-
- checksum/spectus-2.6.0.gem.sha512
|
161
|
-
- checksum/spectus-2.7.0.gem.sha512
|
162
|
-
- checksum/spectus-2.7.1.gem.sha512
|
163
|
-
- checksum/spectus-2.8.0.gem.sha512
|
164
|
-
- checksum/spectus-2.9.0.gem.sha512
|
165
|
-
- checksum/spectus-2.9.1.gem.sha512
|
166
|
-
- checksum/spectus-2.9.2.gem.sha512
|
167
|
-
- checksum/spectus-3.0.0.gem.sha512
|
168
|
-
- checksum/spectus-3.0.1.gem.sha512
|
169
|
-
- checksum/spectus-3.0.2.gem.sha512
|
170
|
-
- checksum/spectus-3.0.3.gem.sha512
|
171
|
-
- checksum/spectus-3.0.5.gem.sha512
|
172
|
-
- checksum/spectus-3.0.6.gem.sha512
|
173
|
-
- checksum/spectus-3.0.7.gem.sha512
|
174
|
-
- checksum/spectus-3.0.8.gem.sha512
|
175
175
|
- lib/spectus.rb
|
176
|
+
- lib/spectus/exam.rb
|
176
177
|
- lib/spectus/expectation_target.rb
|
177
|
-
- lib/spectus/matchers.rb
|
178
|
-
- lib/spectus/report.rb
|
179
178
|
- lib/spectus/requirement_level/base.rb
|
180
|
-
- lib/spectus/requirement_level/
|
181
|
-
- lib/spectus/requirement_level/
|
182
|
-
- lib/spectus/requirement_level/
|
183
|
-
- lib/spectus/result/
|
179
|
+
- lib/spectus/requirement_level/may.rb
|
180
|
+
- lib/spectus/requirement_level/must.rb
|
181
|
+
- lib/spectus/requirement_level/should.rb
|
182
|
+
- lib/spectus/result/common.rb
|
184
183
|
- lib/spectus/result/fail.rb
|
185
184
|
- lib/spectus/result/pass.rb
|
186
|
-
- lib/spectus/sandbox.rb
|
187
|
-
- pkg_checksum
|
188
|
-
- spectus.gemspec
|
189
185
|
homepage: https://github.com/fixrb/spectus
|
190
186
|
licenses:
|
191
187
|
- MIT
|
@@ -198,15 +194,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
198
194
|
requirements:
|
199
195
|
- - ">="
|
200
196
|
- !ruby/object:Gem::Version
|
201
|
-
version:
|
197
|
+
version: 2.7.0
|
202
198
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
203
199
|
requirements:
|
204
200
|
- - ">="
|
205
201
|
- !ruby/object:Gem::Version
|
206
202
|
version: '0'
|
207
203
|
requirements: []
|
208
|
-
rubygems_version: 3.
|
204
|
+
rubygems_version: 3.1.4
|
209
205
|
signing_key:
|
210
206
|
specification_version: 4
|
211
|
-
summary: Expectation library with RFC 2119
|
207
|
+
summary: "Expectation library with RFC 2119's requirement levels \U0001F6A5"
|
212
208
|
test_files: []
|
data/.gitignore
DELETED
data/.rubocop.yml
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
inherit_from: .rubocop_todo.yml
|
data/.rubocop_todo.yml
DELETED
@@ -1,56 +0,0 @@
|
|
1
|
-
# This configuration was generated by
|
2
|
-
# `rubocop --auto-gen-config`
|
3
|
-
# on 2019-10-08 23:18:40 +0200 using RuboCop version 0.75.0.
|
4
|
-
# The point is for the user to remove these configuration records
|
5
|
-
# one by one as the offenses are removed from the code base.
|
6
|
-
# Note that changes in the inspected code, or installation of new
|
7
|
-
# versions of RuboCop, may require this file to be generated again.
|
8
|
-
|
9
|
-
# Offense count: 230
|
10
|
-
# Cop supports --auto-correct.
|
11
|
-
# Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
|
12
|
-
# SupportedHashRocketStyles: key, separator, table
|
13
|
-
# SupportedColonStyles: key, separator, table
|
14
|
-
# SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit
|
15
|
-
Layout/AlignHash:
|
16
|
-
Exclude:
|
17
|
-
- 'lib/spectus/result/base.rb'
|
18
|
-
- 'test/level/test_high_fail.rb'
|
19
|
-
- 'test/level/test_high_pass.rb'
|
20
|
-
- 'test/level/test_low_fail.rb'
|
21
|
-
- 'test/level/test_low_pass.rb'
|
22
|
-
- 'test/level/test_medium_fail.rb'
|
23
|
-
- 'test/level/test_medium_pass.rb'
|
24
|
-
- 'test/test_with_isolation.rb'
|
25
|
-
- 'test/test_without_isolation.rb'
|
26
|
-
|
27
|
-
# Offense count: 2
|
28
|
-
# Configuration parameters: CountComments, ExcludedMethods.
|
29
|
-
Metrics/MethodLength:
|
30
|
-
Max: 12
|
31
|
-
|
32
|
-
# Offense count: 1
|
33
|
-
# Configuration parameters: CountKeywordArgs.
|
34
|
-
Metrics/ParameterLists:
|
35
|
-
Max: 10
|
36
|
-
|
37
|
-
# Offense count: 10
|
38
|
-
# Cop supports --auto-correct.
|
39
|
-
# Configuration parameters: PreferredName.
|
40
|
-
Naming/RescuedExceptionsVariableName:
|
41
|
-
Exclude:
|
42
|
-
- 'test/level/test_high_fail.rb'
|
43
|
-
- 'test/level/test_low_fail.rb'
|
44
|
-
- 'test/level/test_medium_fail.rb'
|
45
|
-
|
46
|
-
# Offense count: 8
|
47
|
-
Style/MixinUsage:
|
48
|
-
Exclude:
|
49
|
-
- 'test/level/test_high_fail.rb'
|
50
|
-
- 'test/level/test_high_pass.rb'
|
51
|
-
- 'test/level/test_low_fail.rb'
|
52
|
-
- 'test/level/test_low_pass.rb'
|
53
|
-
- 'test/level/test_medium_fail.rb'
|
54
|
-
- 'test/level/test_medium_pass.rb'
|
55
|
-
- 'test/test_with_isolation.rb'
|
56
|
-
- 'test/test_without_isolation.rb'
|