speckle 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +22 -0
  3. data/Gemfile +2 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +39 -0
  6. data/Rakefile +230 -0
  7. data/bin/speckle +12 -0
  8. data/lib/dsl.riml +29 -0
  9. data/lib/expectation.riml +34 -0
  10. data/lib/matchers/above_matcher.riml +13 -0
  11. data/lib/matchers/atleast_matcher.riml +13 -0
  12. data/lib/matchers/atmost_matcher.riml +13 -0
  13. data/lib/matchers/below_matcher.riml +13 -0
  14. data/lib/matchers/between_matcher.riml +19 -0
  15. data/lib/matchers/boolean_matcher.riml +13 -0
  16. data/lib/matchers/dict_key_matcher.riml +14 -0
  17. data/lib/matchers/equality_matcher.riml +13 -0
  18. data/lib/matchers/existance_matcher.riml +13 -0
  19. data/lib/matchers/length_matcher.riml +14 -0
  20. data/lib/matchers/match_item.riml +8 -0
  21. data/lib/matchers/match_tester.riml +33 -0
  22. data/lib/matchers/matchers.riml +72 -0
  23. data/lib/matchers/regexp_matcher.riml +14 -0
  24. data/lib/matchers/within_matcher.riml +28 -0
  25. data/lib/reporters/base_reporter.riml +126 -0
  26. data/lib/reporters/dotmatrix_reporter.riml +47 -0
  27. data/lib/reporters/min_reporter.riml +13 -0
  28. data/lib/reporters/reporter_factory.riml +15 -0
  29. data/lib/reporters/spec_reporter.riml +58 -0
  30. data/lib/reporters/tap_reporter.riml +38 -0
  31. data/lib/runners/runner.riml +49 -0
  32. data/lib/runners/spec_runner.riml +96 -0
  33. data/lib/speckle/cli/app.rb +18 -0
  34. data/lib/speckle/cli/controller.rb +67 -0
  35. data/lib/speckle/cli/environment.rb +148 -0
  36. data/lib/speckle/cli/rake_app.rb +146 -0
  37. data/lib/speckle/cli/router.rb +16 -0
  38. data/lib/speckle/loader.rb +10 -0
  39. data/lib/speckle/version.rb +3 -0
  40. data/lib/speckle.rb +4 -0
  41. data/lib/speckle.riml +148 -0
  42. data/lib/utils/spec_meta.riml +30 -0
  43. data/lib/utils/spec_timer.riml +30 -0
  44. data/lib/utils/statistician.riml +70 -0
  45. data/lib/writers/buffer_writer.riml +37 -0
  46. data/lib/writers/console_writer.riml +28 -0
  47. data/lib/writers/file_writer.riml +31 -0
  48. data/lib/writers/writer_factory.riml +13 -0
  49. data/spec/after_hooks_spec.riml +58 -0
  50. data/spec/before_hooks_spec.riml +38 -0
  51. data/spec/matchers/above_matcher_spec.riml +27 -0
  52. data/spec/matchers/atleast_matcher_spec.riml +28 -0
  53. data/spec/matchers/atmost_matcher_spec.riml +29 -0
  54. data/spec/matchers/below_matcher_spec.riml +28 -0
  55. data/spec/matchers/between_matcher_spec.riml +17 -0
  56. data/spec/matchers/boolean_matcher_spec.riml +27 -0
  57. data/spec/matchers/custom_matcher_spec.riml +47 -0
  58. data/spec/matchers/dict_key_matcher_spec.riml +19 -0
  59. data/spec/matchers/equality_matcher_spec.riml +31 -0
  60. data/spec/matchers/existance_matcher_spec.riml +17 -0
  61. data/spec/matchers/length_matcher_spec.riml +18 -0
  62. data/spec/matchers/regexp_matcher_spec.riml +31 -0
  63. data/spec/matchers/within_matcher_spec.riml +18 -0
  64. data/spec/spec_helper.rb +1 -0
  65. data/spec/speckle/cli/environment_spec.rb +296 -0
  66. data/speckle.gemspec +30 -0
  67. metadata +210 -0
@@ -0,0 +1,296 @@
1
+ require 'spec_helper'
2
+ require 'speckle/cli/environment'
3
+
4
+ RSpec::Matchers.define :yield_action do |expected|
5
+ match do |actual|
6
+ env = Speckle::CLI::Environment.new
7
+ @options = env.load(actual.kind_of?(Array) ? actual : [actual])
8
+ @options.action == expected
9
+ end
10
+
11
+ failure_message_for_should do |actual|
12
+ "expected #{actual} to yield action :#{expected.to_s} but was :#{@options.action}"
13
+ end
14
+
15
+ failure_message_for_should_not do |actual|
16
+ "expected #{actual} to not yield action :#{expected.to_s} but was :#{@options.action}"
17
+ end
18
+ end
19
+
20
+ RSpec::Matchers.define :yield_option do |expected|
21
+ match do |actual|
22
+ env = Speckle::CLI::Environment.new
23
+ @options = env.load(actual.kind_of?(Array) ? actual : [actual])
24
+ @result = @options.send(expected)
25
+ @result == true
26
+ end
27
+
28
+ failure_message_for_should do |actual|
29
+ "expected #{actual} to yield option :#{expected.to_s}, but was #{@result}"
30
+ end
31
+
32
+ failure_message_for_should_not do |*args|
33
+ "expected #{actual} to not yield option :#{expected.to_s}, but was #{@result}"
34
+ end
35
+ end
36
+
37
+ RSpec::Matchers.define :have_default_option do |expected|
38
+ match do |actual|
39
+ env = Speckle::CLI::Environment.new
40
+ @options = env.load(actual.kind_of?(Array) ? actual : [actual])
41
+ @options.send(expected) == true
42
+ end
43
+
44
+ failure_message_for_should do |actual|
45
+ "expected #{actual} to have default option :#{expected.to_s}"
46
+ end
47
+
48
+ failure_message_for_should_not do |actual|
49
+ "expected #{actual} to not have default option :#{expected.to_s}"
50
+ end
51
+ end
52
+
53
+ RSpec::Matchers.define :have_default_option_value do |key, value|
54
+ match do |actual|
55
+ env = Speckle::CLI::Environment.new
56
+ @options = env.load(actual.kind_of?(Array) ? actual : [actual])
57
+ @result = @options.send(key)
58
+ @result == value
59
+ end
60
+
61
+ failure_message_for_should do |actual|
62
+ "expected #{actual} to have default option #{key} = #{value}, but was #{@result}"
63
+ end
64
+
65
+ failure_message_for_should_not do |*args|
66
+ "expected #{actual} to not have default option #{key} = #{value}, but was #{@result}"
67
+ end
68
+ end
69
+
70
+ RSpec::Matchers.define :yield_option_value do |key, value|
71
+ match do |actual|
72
+ env = Speckle::CLI::Environment.new
73
+ @options = env.load(actual.kind_of?(Array) ? actual : [actual])
74
+ @result = @options.send(key)
75
+ @result == value
76
+ end
77
+
78
+ failure_message_for_should do |actual|
79
+ "expected #{actual} to yield option #{key} = #{value} but was '#{@result}'"
80
+ end
81
+
82
+ failure_message_for_should_not do |actual|
83
+ "expected #{actual} to not yield option #{key} = #{value} but was #{options.send(key)}"
84
+ end
85
+ end
86
+
87
+ RSpec::Matchers.define :include_path do |expected|
88
+ match do |actual|
89
+ env = Speckle::CLI::Environment.new
90
+ @options = env.load(actual.kind_of?(Array) ? actual : [actual])
91
+ @result = @options.inputs
92
+ @result.include?(expected)
93
+ end
94
+
95
+ failure_message_for_should do |actual|
96
+ "expected #{actual} to include path #{expected}, inputs was #{@result}"
97
+ end
98
+
99
+ failure_message_for_should_not do |actual|
100
+ "expected #{actual} to not include path #{actual}, inputs was #{@result}"
101
+ end
102
+ end
103
+
104
+ module Speckle
105
+ module CLI
106
+
107
+ describe 'Main options basics' do
108
+
109
+ it 'defaults to compile_and_test without args' do
110
+ expect('').to yield_action(:compile_and_test)
111
+ end
112
+
113
+ it 'has action :compile_and_test with -a or --all' do
114
+ expect(['-a', 'foo']).to yield_action :compile_and_test
115
+ expect(['--all', 'foo']).to yield_action :compile_and_test
116
+ end
117
+
118
+ it 'has action :compile with -c or --compile' do
119
+ expect(['-c', 'foo']).to yield_action :compile
120
+ expect(['--compile', 'foo']).to yield_action :compile
121
+ end
122
+
123
+ it 'has action :test with -t or --test' do
124
+ expect(['-t', 'foo']).to yield_action :test
125
+ expect(['--test', 'foo']).to yield_action :test
126
+ end
127
+
128
+ end
129
+
130
+ describe 'Source path defaults' do
131
+
132
+ it 'has uses spec directory if present' do
133
+ expect('').to include_path('spec')
134
+ end
135
+
136
+ it 'includes spec directory if no files were specified with -a or --all' do
137
+ expect('-a').to include_path('spec')
138
+ expect('--all').to include_path('spec')
139
+ end
140
+
141
+ it 'includes spec directory if no files were specified with -c or --compile' do
142
+ expect('-c').to include_path('spec')
143
+ expect('--compile').to include_path('spec')
144
+ end
145
+
146
+ it 'includes spec directory if no files were specified with -t or --test' do
147
+ expect('-t').to include_path('spec')
148
+ expect('--test').to include_path('spec')
149
+ end
150
+ end
151
+
152
+ describe 'Extra options and flags' do
153
+
154
+ it 'can load args' do
155
+ env = Environment.new
156
+ expect(env).to respond_to(:load)
157
+ end
158
+
159
+ it 'has :show_help action for -h or --help' do
160
+ expect('-h').to yield_action(:show_help)
161
+ expect('--help').to yield_action(:show_help)
162
+ end
163
+
164
+ it 'has :show_version action for -V or --version' do
165
+ expect('-V').to yield_action :show_version
166
+ expect('--version').to yield_action :show_version
167
+ end
168
+
169
+ it 'has verbose flag for -v or --verbose' do
170
+ expect('-v').to yield_option 'verbose'
171
+ expect('--verbose').to yield_option 'verbose'
172
+ end
173
+
174
+ it 'has debug flag for -D or --debug' do
175
+ expect('-D').to yield_option 'debug'
176
+ expect('--debug').to yield_option 'debug'
177
+ end
178
+
179
+ it 'does not have colorize flag for -C or --no-colors' do
180
+ expect('-C').to_not yield_option 'colorize'
181
+ expect('--no-colors').to_not yield_option 'colorize'
182
+ end
183
+
184
+ it 'has colorize by default' do
185
+ expect('').to have_default_option 'colorize'
186
+ end
187
+
188
+ it 'has does not skip vimrc by default' do
189
+ expect('').to_not have_default_option 'skip_vimrc'
190
+ end
191
+
192
+ it 'does not have skip_vimrc for -k or --skip-vimrc' do
193
+ expect('-k').to yield_option 'skip_vimrc'
194
+ expect('--skip-vimrc').to yield_option 'skip_vimrc'
195
+ end
196
+
197
+ it 'has :watch action for -w or --watch' do
198
+ expect('-w').to yield_action :watch
199
+ expect('--watch').to yield_action :watch
200
+ end
201
+
202
+ it 'bail by default' do
203
+ expect('').to_not have_default_option 'bail'
204
+ end
205
+
206
+ it 'has bail option by default' do
207
+ expect('-b').to yield_option 'bail'
208
+ expect('--bail').to yield_option 'bail'
209
+ end
210
+
211
+ it 'has default vim program' do
212
+ expect('').to have_default_option_value('vim', 'vim')
213
+ end
214
+
215
+ it 'takes specified vim program for -m or --vim' do
216
+ expect(['-m', 'gvim']).to yield_option_value('vim', 'gvim')
217
+ expect(['--vim', 'gvim']).to yield_option_value('vim', 'gvim')
218
+ end
219
+
220
+ it 'has a default slow threshold' do
221
+ expect('').to have_default_option_value('slow_threshold', 10)
222
+ end
223
+
224
+ it 'takes slow_threshold for -k or --slow-threshold' do
225
+ expect(['-s', '10']).to yield_option_value('slow_threshold', 10)
226
+ expect(['--slow-threshold', '10']).to yield_option_value('slow_threshold', 10)
227
+ end
228
+
229
+ it 'does not have default grep pattern' do
230
+ expect('').to_not have_default_option('grep_pattern')
231
+ end
232
+
233
+ it 'takes grep pattern for -g or --grep' do
234
+ expect(['-g', '^foo']).to yield_option_value('grep_pattern', '^foo')
235
+ expect(['--grep', '^foo']).to yield_option_value('grep_pattern', '^foo')
236
+ end
237
+
238
+ it 'does not have default invert grep pattern' do
239
+ expect('').to_not have_default_option('grep_invert')
240
+ end
241
+
242
+ it 'takes invert grep pattern for -i or --invert' do
243
+ expect('-i').to yield_option('grep_invert')
244
+ expect('--invert').to yield_option('grep_invert')
245
+ end
246
+
247
+ it 'takes libs from -I or --libs' do
248
+ expect(['-I', 'lorem:ipsum:dolor']).to yield_option_value('libs', 'lorem:ipsum:dolor')
249
+ end
250
+
251
+ it 'has a default reporter' do
252
+ expect('').to have_default_option_value('reporter', 'dot')
253
+ end
254
+
255
+ it 'takes reporter from -r or --reporter' do
256
+ expect(['-r', 'min']).to yield_option_value('reporter', 'min')
257
+ expect(['--reporter', 'min']).to yield_option_value('reporter', 'min')
258
+ end
259
+
260
+ end
261
+
262
+ describe 'Complete CLI options' do
263
+ def env(*args)
264
+ env = Environment.new
265
+ env.load(args)
266
+ end
267
+
268
+ it 'works with example#1' do
269
+ opts = env('-a', 'foo', '-I', 'lorem:ipsum', '-r', 'min', '-C', '-D')
270
+ expect(opts.action).to eq(:compile_and_test)
271
+ expect(opts.inputs).to include('foo')
272
+ expect(opts.libs).to eq('lorem:ipsum')
273
+ expect(opts.reporter).to eq('min')
274
+ expect(opts.debug).to eq(true)
275
+ end
276
+
277
+ it 'works with example#2' do
278
+ opts = env('foo', '-r', 'dot', '-I', 'lorem:ipsum', '-v')
279
+ expect(opts.action).to eq(:compile_and_test)
280
+ expect(opts.inputs).to include('foo')
281
+ expect(opts.libs).to eq('lorem:ipsum')
282
+ expect(opts.reporter).to eq('dot')
283
+ expect(opts.verbose).to eq(true)
284
+ end
285
+
286
+ it 'works with example#3' do
287
+ opts = env('-r', 'tap', '-t', 'my_specs', '-I', 'stuff', '-D')
288
+ expect(opts.action).to eq(:test)
289
+ expect(opts.inputs).to include('my_specs')
290
+ expect(opts.reporter).to eq('tap')
291
+ expect(opts.libs).to eq('stuff')
292
+ end
293
+
294
+ end
295
+ end
296
+ end
data/speckle.gemspec ADDED
@@ -0,0 +1,30 @@
1
+ lib = File.expand_path('../lib', __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+
4
+ require 'speckle/version'
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = 'speckle'
8
+ s.version = Speckle::VERSION
9
+ s.authors = ['Darshan Sawardekar']
10
+ s.email = 'darshan@sawardekar.org'
11
+ s.homepage = "http://github.com/dsawardekar/speckle"
12
+ s.license = "MIT"
13
+
14
+ s.description = %q{Behaviour driven framework for testing vim scripts written in Riml}
15
+ s.summary = %q{Compiles *_spec.riml spec files into *.vim files and runs them inside vim}
16
+
17
+ s.files = `git ls-files`.split($/)
18
+ s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
19
+ s.test_files = s.files.grep(%r{^(test|spec|features)/})
20
+ s.require_paths = ["lib"]
21
+
22
+ s.add_dependency 'riml', '~> 0.2.8'
23
+ s.add_dependency 'rake', '~> 10.1.0'
24
+ s.add_dependency 'bundler', '~> 1.3'
25
+
26
+ s.add_development_dependency 'rspec-core', '~> 2.14.0'
27
+ s.add_development_dependency 'rspec-expectations', '~> 2.14.0'
28
+ s.add_development_dependency 'rspec-mocks', '~> 2.14.0'
29
+
30
+ end
metadata ADDED
@@ -0,0 +1,210 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: speckle
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.2
5
+ platform: ruby
6
+ authors:
7
+ - Darshan Sawardekar
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-08-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: riml
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: 0.2.8
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 0.2.8
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 10.1.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: 10.1.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: '1.3'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '1.3'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec-core
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 2.14.0
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: 2.14.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec-expectations
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: 2.14.0
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: 2.14.0
83
+ - !ruby/object:Gem::Dependency
84
+ name: rspec-mocks
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: 2.14.0
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: 2.14.0
97
+ description: Behaviour driven framework for testing vim scripts written in Riml
98
+ email: darshan@sawardekar.org
99
+ executables:
100
+ - speckle
101
+ extensions: []
102
+ extra_rdoc_files: []
103
+ files:
104
+ - .gitignore
105
+ - Gemfile
106
+ - LICENSE.txt
107
+ - README.md
108
+ - Rakefile
109
+ - bin/speckle
110
+ - lib/dsl.riml
111
+ - lib/expectation.riml
112
+ - lib/matchers/above_matcher.riml
113
+ - lib/matchers/atleast_matcher.riml
114
+ - lib/matchers/atmost_matcher.riml
115
+ - lib/matchers/below_matcher.riml
116
+ - lib/matchers/between_matcher.riml
117
+ - lib/matchers/boolean_matcher.riml
118
+ - lib/matchers/dict_key_matcher.riml
119
+ - lib/matchers/equality_matcher.riml
120
+ - lib/matchers/existance_matcher.riml
121
+ - lib/matchers/length_matcher.riml
122
+ - lib/matchers/match_item.riml
123
+ - lib/matchers/match_tester.riml
124
+ - lib/matchers/matchers.riml
125
+ - lib/matchers/regexp_matcher.riml
126
+ - lib/matchers/within_matcher.riml
127
+ - lib/reporters/base_reporter.riml
128
+ - lib/reporters/dotmatrix_reporter.riml
129
+ - lib/reporters/min_reporter.riml
130
+ - lib/reporters/reporter_factory.riml
131
+ - lib/reporters/spec_reporter.riml
132
+ - lib/reporters/tap_reporter.riml
133
+ - lib/runners/runner.riml
134
+ - lib/runners/spec_runner.riml
135
+ - lib/speckle.rb
136
+ - lib/speckle.riml
137
+ - lib/speckle/cli/app.rb
138
+ - lib/speckle/cli/controller.rb
139
+ - lib/speckle/cli/environment.rb
140
+ - lib/speckle/cli/rake_app.rb
141
+ - lib/speckle/cli/router.rb
142
+ - lib/speckle/loader.rb
143
+ - lib/speckle/version.rb
144
+ - lib/utils/spec_meta.riml
145
+ - lib/utils/spec_timer.riml
146
+ - lib/utils/statistician.riml
147
+ - lib/writers/buffer_writer.riml
148
+ - lib/writers/console_writer.riml
149
+ - lib/writers/file_writer.riml
150
+ - lib/writers/writer_factory.riml
151
+ - spec/after_hooks_spec.riml
152
+ - spec/before_hooks_spec.riml
153
+ - spec/matchers/above_matcher_spec.riml
154
+ - spec/matchers/atleast_matcher_spec.riml
155
+ - spec/matchers/atmost_matcher_spec.riml
156
+ - spec/matchers/below_matcher_spec.riml
157
+ - spec/matchers/between_matcher_spec.riml
158
+ - spec/matchers/boolean_matcher_spec.riml
159
+ - spec/matchers/custom_matcher_spec.riml
160
+ - spec/matchers/dict_key_matcher_spec.riml
161
+ - spec/matchers/equality_matcher_spec.riml
162
+ - spec/matchers/existance_matcher_spec.riml
163
+ - spec/matchers/length_matcher_spec.riml
164
+ - spec/matchers/regexp_matcher_spec.riml
165
+ - spec/matchers/within_matcher_spec.riml
166
+ - spec/spec_helper.rb
167
+ - spec/speckle/cli/environment_spec.rb
168
+ - speckle.gemspec
169
+ homepage: http://github.com/dsawardekar/speckle
170
+ licenses:
171
+ - MIT
172
+ metadata: {}
173
+ post_install_message:
174
+ rdoc_options: []
175
+ require_paths:
176
+ - lib
177
+ required_ruby_version: !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - ! '>='
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
182
+ required_rubygems_version: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ! '>='
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
187
+ requirements: []
188
+ rubyforge_project:
189
+ rubygems_version: 2.0.5
190
+ signing_key:
191
+ specification_version: 4
192
+ summary: Compiles *_spec.riml spec files into *.vim files and runs them inside vim
193
+ test_files:
194
+ - spec/after_hooks_spec.riml
195
+ - spec/before_hooks_spec.riml
196
+ - spec/matchers/above_matcher_spec.riml
197
+ - spec/matchers/atleast_matcher_spec.riml
198
+ - spec/matchers/atmost_matcher_spec.riml
199
+ - spec/matchers/below_matcher_spec.riml
200
+ - spec/matchers/between_matcher_spec.riml
201
+ - spec/matchers/boolean_matcher_spec.riml
202
+ - spec/matchers/custom_matcher_spec.riml
203
+ - spec/matchers/dict_key_matcher_spec.riml
204
+ - spec/matchers/equality_matcher_spec.riml
205
+ - spec/matchers/existance_matcher_spec.riml
206
+ - spec/matchers/length_matcher_spec.riml
207
+ - spec/matchers/regexp_matcher_spec.riml
208
+ - spec/matchers/within_matcher_spec.riml
209
+ - spec/spec_helper.rb
210
+ - spec/speckle/cli/environment_spec.rb