slimkeyfy 0.0.1

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.
Files changed (94) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +34 -0
  3. data/.rspec +3 -0
  4. data/Gemfile +6 -0
  5. data/Gemfile.lock +22 -0
  6. data/LICENSE +21 -0
  7. data/README.md +172 -0
  8. data/bin/slimkeyfy +5 -0
  9. data/lib/.DS_Store +0 -0
  10. data/lib/slimkeyfy/console/command_line.rb +90 -0
  11. data/lib/slimkeyfy/console/io_action.rb +30 -0
  12. data/lib/slimkeyfy/console/printer.rb +50 -0
  13. data/lib/slimkeyfy/console/translate.rb +101 -0
  14. data/lib/slimkeyfy/console.rb +8 -0
  15. data/lib/slimkeyfy/slimutils/file_utils.rb +61 -0
  16. data/lib/slimkeyfy/slimutils/hash_merging.rb +84 -0
  17. data/lib/slimkeyfy/slimutils/key_generator.rb +70 -0
  18. data/lib/slimkeyfy/slimutils/yaml_processor.rb +56 -0
  19. data/lib/slimkeyfy/slimutils.rb +8 -0
  20. data/lib/slimkeyfy/transformer/base_transformer.rb +42 -0
  21. data/lib/slimkeyfy/transformer/controller_transformer.rb +20 -0
  22. data/lib/slimkeyfy/transformer/slim_transformer.rb +92 -0
  23. data/lib/slimkeyfy/transformer/whitespacer.rb +48 -0
  24. data/lib/slimkeyfy/transformer/word.rb +49 -0
  25. data/lib/slimkeyfy/transformer.rb +9 -0
  26. data/lib/slimkeyfy/version.rb +3 -0
  27. data/lib/slimkeyfy.rb +12 -0
  28. data/slimkeyfy.gemspec +21 -0
  29. data/vendor/bundle/bin/htmldiff +25 -0
  30. data/vendor/bundle/bin/ldiff +25 -0
  31. data/vendor/bundle/bin/rspec +23 -0
  32. data/vendor/bundle/build_info/diff-lcs-1.2.5.info +1 -0
  33. data/vendor/bundle/build_info/rspec-3.0.0.info +1 -0
  34. data/vendor/bundle/build_info/rspec-core-3.0.2.info +1 -0
  35. data/vendor/bundle/build_info/rspec-expectations-3.0.2.info +1 -0
  36. data/vendor/bundle/build_info/rspec-mocks-3.0.2.info +1 -0
  37. data/vendor/bundle/build_info/rspec-support-3.0.2.info +1 -0
  38. data/vendor/bundle/gems/diff-lcs-1.2.5/.autotest +3 -0
  39. data/vendor/bundle/gems/diff-lcs-1.2.5/.gemtest +0 -0
  40. data/vendor/bundle/gems/diff-lcs-1.2.5/.hoerc +2 -0
  41. data/vendor/bundle/gems/diff-lcs-1.2.5/.rspec +2 -0
  42. data/vendor/bundle/gems/diff-lcs-1.2.5/.travis.yml +22 -0
  43. data/vendor/bundle/gems/diff-lcs-1.2.5/Contributing.rdoc +64 -0
  44. data/vendor/bundle/gems/diff-lcs-1.2.5/Gemfile +20 -0
  45. data/vendor/bundle/gems/diff-lcs-1.2.5/History.rdoc +152 -0
  46. data/vendor/bundle/gems/diff-lcs-1.2.5/License.rdoc +39 -0
  47. data/vendor/bundle/gems/diff-lcs-1.2.5/Manifest.txt +38 -0
  48. data/vendor/bundle/gems/diff-lcs-1.2.5/README.rdoc +85 -0
  49. data/vendor/bundle/gems/diff-lcs-1.2.5/Rakefile +41 -0
  50. data/vendor/bundle/gems/diff-lcs-1.2.5/autotest/discover.rb +1 -0
  51. data/vendor/bundle/gems/diff-lcs-1.2.5/bin/htmldiff +32 -0
  52. data/vendor/bundle/gems/diff-lcs-1.2.5/bin/ldiff +6 -0
  53. data/vendor/bundle/gems/diff-lcs-1.2.5/docs/COPYING.txt +339 -0
  54. data/vendor/bundle/gems/diff-lcs-1.2.5/docs/artistic.txt +127 -0
  55. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/array.rb +7 -0
  56. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/block.rb +37 -0
  57. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/callbacks.rb +322 -0
  58. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/change.rb +177 -0
  59. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/htmldiff.rb +149 -0
  60. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/hunk.rb +276 -0
  61. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/internals.rb +301 -0
  62. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/ldiff.rb +195 -0
  63. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs/string.rb +5 -0
  64. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff/lcs.rb +805 -0
  65. data/vendor/bundle/gems/diff-lcs-1.2.5/lib/diff-lcs.rb +3 -0
  66. data/vendor/bundle/gems/rspec-3.0.0/License.txt +24 -0
  67. data/vendor/bundle/gems/rspec-3.0.0/README.md +47 -0
  68. data/vendor/bundle/gems/rspec-3.0.0/lib/rspec.rb +3 -0
  69. data/vendor/bundle/gems/rspec-core-3.0.2/.document +5 -0
  70. data/vendor/bundle/gems/rspec-core-3.0.2/.yardopts +7 -0
  71. data/vendor/bundle/gems/rspec-core-3.0.2/Changelog.md +1466 -0
  72. data/vendor/bundle/gems/rspec-core-3.0.2/License.txt +25 -0
  73. data/vendor/bundle/gems/rspec-core-3.0.2/README.md +243 -0
  74. data/vendor/bundle/gems/rspec-core-3.0.2/exe/rspec +4 -0
  75. data/vendor/bundle/gems/rspec-expectations-3.0.2/.document +5 -0
  76. data/vendor/bundle/gems/rspec-expectations-3.0.2/.yardopts +6 -0
  77. data/vendor/bundle/gems/rspec-expectations-3.0.2/Changelog.md +749 -0
  78. data/vendor/bundle/gems/rspec-expectations-3.0.2/License.txt +24 -0
  79. data/vendor/bundle/gems/rspec-expectations-3.0.2/README.md +278 -0
  80. data/vendor/bundle/gems/rspec-mocks-3.0.2/.document +5 -0
  81. data/vendor/bundle/gems/rspec-mocks-3.0.2/.yardopts +6 -0
  82. data/vendor/bundle/gems/rspec-mocks-3.0.2/Changelog.md +733 -0
  83. data/vendor/bundle/gems/rspec-mocks-3.0.2/License.txt +24 -0
  84. data/vendor/bundle/gems/rspec-mocks-3.0.2/README.md +380 -0
  85. data/vendor/bundle/gems/rspec-support-3.0.2/Changelog.md +30 -0
  86. data/vendor/bundle/gems/rspec-support-3.0.2/LICENSE.txt +22 -0
  87. data/vendor/bundle/gems/rspec-support-3.0.2/README.md +17 -0
  88. data/vendor/bundle/specifications/diff-lcs-1.2.5.gemspec +68 -0
  89. data/vendor/bundle/specifications/rspec-3.0.0.gemspec +43 -0
  90. data/vendor/bundle/specifications/rspec-core-3.0.2.gemspec +66 -0
  91. data/vendor/bundle/specifications/rspec-expectations-3.0.2.gemspec +51 -0
  92. data/vendor/bundle/specifications/rspec-mocks-3.0.2.gemspec +48 -0
  93. data/vendor/bundle/specifications/rspec-support-3.0.2.gemspec +42 -0
  94. metadata +153 -0
@@ -0,0 +1,24 @@
1
+ (The MIT License)
2
+
3
+ Copyright (c) 2012 David Chelimsky, Myron Marston
4
+ Copyright (c) 2006 David Chelimsky, The RSpec Development Team
5
+ Copyright (c) 2005 Steven Baker
6
+
7
+ Permission is hereby granted, free of charge, to any person obtaining
8
+ a copy of this software and associated documentation files (the
9
+ "Software"), to deal in the Software without restriction, including
10
+ without limitation the rights to use, copy, modify, merge, publish,
11
+ distribute, sublicense, and/or sell copies of the Software, and to
12
+ permit persons to whom the Software is furnished to do so, subject to
13
+ the following conditions:
14
+
15
+ The above copyright notice and this permission notice shall be
16
+ included in all copies or substantial portions of the Software.
17
+
18
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
21
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
22
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,380 @@
1
+ # RSpec Mocks [![Build Status](https://secure.travis-ci.org/rspec/rspec-mocks.png?branch=master)](http://travis-ci.org/rspec/rspec-mocks) [![Code Climate](https://codeclimate.com/github/rspec/rspec-mocks.png)](https://codeclimate.com/github/rspec/rspec-mocks) [![Inline docs](http://inch-pages.github.io/github/rspec/rspec-mocks.png)](http://inch-pages.github.io/github/rspec/rspec-mocks)
2
+
3
+ rspec-mocks is a test-double framework for rspec with support for method stubs,
4
+ fakes, and message expectations on generated test-doubles and real objects
5
+ alike.
6
+
7
+ ## Install
8
+
9
+ gem install rspec # for rspec-core, rspec-expectations, rspec-mocks
10
+ gem install rspec-mocks # for rspec-mocks only
11
+
12
+ ## Test Doubles
13
+
14
+ A test double is an object that stands in for another object in your system
15
+ during a code example. Use the `double` method, passing in an optional identifier, to create one:
16
+
17
+ ```ruby
18
+ book = double("book")
19
+ ```
20
+
21
+ Most of the time you will want some confidence that your doubles resemble an
22
+ existing object in your system. Verifying doubles are provided for this
23
+ purpose. If the existing object is available, they will prevent you from adding
24
+ stubs and expectations for methods that do not exist or that have an invalid
25
+ number of parameters.
26
+
27
+ ```ruby
28
+ book = instance_double("Book", :pages => 250)
29
+ ```
30
+
31
+ Verifying doubles have some clever tricks to enable you to both test in
32
+ isolation without your dependencies loaded while still being able to validate
33
+ them against real objects. More detail is available in [their
34
+ documentation](https://github.com/rspec/rspec-mocks/blob/master/features/verifying_doubles).
35
+
36
+ ## Method Stubs
37
+
38
+ A method stub is an implementation that returns a pre-determined value. Method
39
+ stubs can be declared on test doubles or real objects using the same syntax.
40
+ rspec-mocks supports 3 forms for declaring method stubs:
41
+
42
+ ```ruby
43
+ allow(book).to receive(:title) { "The RSpec Book" }
44
+ allow(book).to receive(:title).and_return("The RSpec Book")
45
+ ```
46
+
47
+ You can also use this shortcut, which creates a test double and declares a
48
+ method stub in one statement:
49
+
50
+ ```ruby
51
+ book = double("book", :title => "The RSpec Book")
52
+ ```
53
+
54
+ The first argument is a name, which is used for documentation and appears in
55
+ failure messages. If you don't care about the name, you can leave it out,
56
+ making the combined instantiation/stub declaration very terse:
57
+
58
+ ```ruby
59
+ double(:foo => 'bar')
60
+ ```
61
+
62
+ This is particularly nice when providing a list of test doubles to a method
63
+ that iterates through them:
64
+
65
+ ```ruby
66
+ order.calculate_total_price(double(:price => 1.99), double(:price => 2.99))
67
+ ```
68
+
69
+ ## Consecutive return values
70
+
71
+ When a stub might be invoked more than once, you can provide additional
72
+ arguments to `and_return`. The invocations cycle through the list. The last
73
+ value is returned for any subsequent invocations:
74
+
75
+ ```ruby
76
+ allow(die).to receive(:roll).and_return(1, 2, 3)
77
+ die.roll # => 1
78
+ die.roll # => 2
79
+ die.roll # => 3
80
+ die.roll # => 3
81
+ die.roll # => 3
82
+ ```
83
+
84
+ To return an array in a single invocation, declare an array:
85
+
86
+ ```ruby
87
+ allow(team).to receive(:players).and_return([double(:name => "David")])
88
+ ```
89
+
90
+ ## Message Expectations
91
+
92
+ A message expectation is an expectation that the test double will receive a
93
+ message some time before the example ends. If the message is received, the
94
+ expectation is satisfied. If not, the example fails.
95
+
96
+ ```ruby
97
+ validator = double("validator")
98
+ expect(validator).to receive(:validate) { "02134" }
99
+ zipcode = Zipcode.new("02134", validator)
100
+ zipcode.valid?
101
+ ```
102
+
103
+ ## Test Spies
104
+
105
+ Verifies the given object received the expected message during the course of the
106
+ test. The method must have previously been stubbed in order for messages to be
107
+ verified.
108
+
109
+ Stubbing and verifying messages received in this way implements the Test Spy
110
+ pattern.
111
+
112
+ ```ruby
113
+ invitation = double('invitation', :accept => true)
114
+
115
+ user.accept_invitation(invitation)
116
+
117
+ expect(invitation).to have_received(:accept)
118
+
119
+ # You can also use other common message expectations. For example:
120
+ expect(invitation).to have_received(:accept).with(mailer)
121
+ expect(invitation).to have_received(:accept).twice
122
+ expect(invitation).to_not have_received(:accept).with(mailer)
123
+ ```
124
+
125
+ ## Nomenclature
126
+
127
+ ### Mock Objects and Test Stubs
128
+
129
+ The names Mock Object and Test Stub suggest specialized Test Doubles. i.e.
130
+ a Test Stub is a Test Double that only supports method stubs, and a Mock
131
+ Object is a Test Double that supports message expectations and method
132
+ stubs.
133
+
134
+ There is a lot of overlapping nomenclature here, and there are many
135
+ variations of these patterns (fakes, spies, etc). Keep in mind that most of
136
+ the time we're talking about method-level concepts that are variations of
137
+ method stubs and message expectations, and we're applying to them to _one_
138
+ generic kind of object: a Test Double.
139
+
140
+ ### Test-Specific Extension
141
+
142
+ a.k.a. Partial Double, a Test-Specific Extension is an extension of a
143
+ real object in a system that is instrumented with test-double like
144
+ behaviour in the context of a test. This technique is very common in Ruby
145
+ because we often see class objects acting as global namespaces for methods.
146
+ For example, in Rails:
147
+
148
+ ```ruby
149
+ person = double("person")
150
+ allow(Person).to receive(:find) { person }
151
+ ```
152
+
153
+ In this case we're instrumenting Person to return the person object we've
154
+ defined whenever it receives the `find` message. We can also set a message
155
+ expectation so that the example fails if `find` is not called:
156
+
157
+ ```ruby
158
+ person = double("person")
159
+ expect(Person).to receive(:find) { person }
160
+ ```
161
+
162
+ RSpec replaces the method we're stubbing or mocking with its own
163
+ test-double-like method. At the end of the example, RSpec verifies any message
164
+ expectations, and then restores the original methods.
165
+
166
+ ## Expecting Arguments
167
+
168
+ ```ruby
169
+ expect(double).to receive(:msg).with(*args)
170
+ expect(double).to_not receive(:msg).with(*args)
171
+ ```
172
+
173
+ You can set multiple expectations for the same message if you need to:
174
+
175
+ ```ruby
176
+ expect(double).to receive(:msg).with("A", 1, 3)
177
+ expect(double).to receive(:msg).with("B", 2, 4)
178
+ ```
179
+
180
+ ## Argument Matchers
181
+
182
+ Arguments that are passed to `with` are compared with actual arguments
183
+ received using ==. In cases in which you want to specify things about the
184
+ arguments rather than the arguments themselves, you can use any of the
185
+ matchers that ship with rspec-expectations. They don't all make syntactic
186
+ sense (they were primarily designed for use with RSpec::Expectations), but
187
+ you are free to create your own custom RSpec::Matchers.
188
+
189
+ rspec-mocks also adds some keyword Symbols that you can use to
190
+ specify certain kinds of arguments:
191
+
192
+ ```ruby
193
+ expect(double).to receive(:msg).with(no_args())
194
+ expect(double).to receive(:msg).with(any_args())
195
+ expect(double).to receive(:msg).with(1, kind_of(Numeric), "b") #2nd argument can be any kind of Numeric
196
+ expect(double).to receive(:msg).with(1, boolean(), "b") #2nd argument can be true or false
197
+ expect(double).to receive(:msg).with(1, /abc/, "b") #2nd argument can be any String matching the submitted Regexp
198
+ expect(double).to receive(:msg).with(1, anything(), "b") #2nd argument can be anything at all
199
+ expect(double).to receive(:msg).with(1, duck_type(:abs, :div), "b")
200
+ #2nd argument can be object that responds to #abs and #div
201
+ ```
202
+
203
+ ## Receive Counts
204
+
205
+ ```ruby
206
+ expect(double).to receive(:msg).once
207
+ expect(double).to receive(:msg).twice
208
+ expect(double).to receive(:msg).exactly(n).times
209
+ expect(double).to receive(:msg).at_least(:once)
210
+ expect(double).to receive(:msg).at_least(:twice)
211
+ expect(double).to receive(:msg).at_least(n).times
212
+ expect(double).to receive(:msg).at_most(:once)
213
+ expect(double).to receive(:msg).at_most(:twice)
214
+ expect(double).to receive(:msg).at_most(n).times
215
+ expect(double).to receive(:msg).any_number_of_times
216
+ ```
217
+
218
+ ## Ordering
219
+
220
+ ```ruby
221
+ expect(double).to receive(:msg).ordered
222
+ expect(double).to receive(:other_msg).ordered
223
+ # This will fail if the messages are received out of order
224
+ ```
225
+
226
+ This can include the same message with different arguments:
227
+
228
+ ```ruby
229
+ expect(double).to receive(:msg).with("A", 1, 3).ordered
230
+ expect(double).to receive(:msg).with("B", 2, 4).ordered
231
+ ```
232
+
233
+ ## Setting Responses
234
+
235
+ Whether you are setting a message expectation or a method stub, you can
236
+ tell the object precisely how to respond. The most generic way is to pass
237
+ a block to `receive`:
238
+
239
+ ```ruby
240
+ expect(double).to receive(:msg) { value }
241
+ ```
242
+
243
+ When the double receives the `msg` message, it evaluates the block and returns
244
+ the result.
245
+
246
+ ```ruby
247
+ expect(double).to receive(:msg).and_return(value)
248
+ expect(double).to receive(:msg).exactly(3).times.and_return(value1, value2, value3)
249
+ # returns value1 the first time, value2 the second, etc
250
+ expect(double).to receive(:msg).and_raise(error)
251
+ # error can be an instantiated object or a class
252
+ # if it is a class, it must be instantiable with no args
253
+ expect(double).to receive(:msg).and_throw(:msg)
254
+ expect(double).to receive(:msg).and_yield(values, to, yield)
255
+ expect(double).to receive(:msg).and_yield(values, to, yield).and_yield(some, other, values, this, time)
256
+ # for methods that yield to a block multiple times
257
+ ```
258
+
259
+ Any of these responses can be applied to a stub as well
260
+
261
+ ```ruby
262
+ allow(double).to receive(:msg).and_return(value)
263
+ allow(double).to receive(:msg).and_return(value1, value2, value3)
264
+ allow(double).to receive(:msg).and_raise(error)
265
+ allow(double).to receive(:msg).and_throw(:msg)
266
+ allow(double).to receive(:msg).and_yield(values, to, yield)
267
+ allow(double).to receive(:msg).and_yield(values, to, yield).and_yield(some, other, values, this, time)
268
+ ```
269
+
270
+ ## Arbitrary Handling
271
+
272
+ Once in a while you'll find that the available expectations don't solve the
273
+ particular problem you are trying to solve. Imagine that you expect the message
274
+ to come with an Array argument that has a specific length, but you don't care
275
+ what is in it. You could do this:
276
+
277
+ ```ruby
278
+ expect(double).to receive(:msg) do |arg|
279
+ expect(arg.size).to eq 7
280
+ end
281
+ ```
282
+
283
+ If the method being stubbed itself takes a block, and you need to yield to it
284
+ in some special way, you can use this:
285
+
286
+ ```ruby
287
+ expect(double).to receive(:msg) do |&arg|
288
+ begin
289
+ arg.call
290
+ ensure
291
+ # cleanup
292
+ end
293
+ end
294
+ ```
295
+
296
+ ## Delegating to the Original Implementation
297
+
298
+ When working with a partial mock object, you may occasionally
299
+ want to set a message expecation without interfering with how
300
+ the object responds to the message. You can use `and_call_original`
301
+ to achieve this:
302
+
303
+ ```ruby
304
+ expect(Person).to receive(:find).and_call_original
305
+ Person.find # => executes the original find method and returns the result
306
+ ```
307
+
308
+ ## Combining Expectation Details
309
+
310
+ Combining the message name with specific arguments, receive counts and responses
311
+ you can get quite a bit of detail in your expectations:
312
+
313
+ ```ruby
314
+ expect(double).to receive(:<<).with("illegal value").once.and_raise(ArgumentError)
315
+ ```
316
+
317
+ While this is a good thing when you really need it, you probably don't really
318
+ need it! Take care to specify only the things that matter to the behavior of
319
+ your code.
320
+
321
+ ## Stubbing and Hiding Constants
322
+
323
+ See the [mutating constants
324
+ README](https://github.com/rspec/rspec-mocks/blob/master/features/mutating_constants/README.md)
325
+ for info on this feature.
326
+
327
+ ## Use `before(:example)`, not `before(:context)`
328
+
329
+ Stubs in `before(:context)` are not supported. The reason is that all stubs and mocks get cleared out after each example, so any stub that is set in `before(:context)` would work in the first example that happens to run in that group, but not for any others.
330
+
331
+ Instead of `before(:context)`, use `before(:example)`.
332
+
333
+ ## Settings mocks or stubs on any instance of a class
334
+
335
+ rspec-mocks provides two methods, `allow_any_instance_of` and
336
+ `expect_any_instance_of`, that will allow you to stub or mock any instance
337
+ of a class. They are used in place of `allow` or `expect`:
338
+
339
+ ```ruby
340
+ allow_any_instance_of(Widget).to receive(:name).and_return("Wibble")
341
+ expect_any_instance_of(Widget).to receive(:name).and_return("Wobble")
342
+ ```
343
+
344
+ These methods add the appropriate stub or expectation to all instances of
345
+ `Widget`.
346
+
347
+ This feature is sometimes useful when working with legacy code, though in
348
+ general we discourage its use for a number of reasons:
349
+
350
+ * The `rspec-mocks` API is designed for individual object instances, but this
351
+ feature operates on entire classes of objects. As a result there are some
352
+ sematically confusing edge cases. For example in
353
+ `expect_any_instance_of(Widget).to receive(:name).twice` it isn't clear
354
+ whether each specific instance is expected to receive `name` twice, or if two
355
+ receives total are expected. (It's the former.)
356
+ * Using this feature is often a design smell. It may be
357
+ that your test is trying to do too much or that the object under test is too
358
+ complex.
359
+ * It is the most complicated feature of `rspec-mocks`, and has historically
360
+ received the most bug reports. (None of the core team actively use it,
361
+ which doesn't help.)
362
+
363
+
364
+ ## Further Reading
365
+
366
+ There are many different viewpoints about the meaning of mocks and stubs. If
367
+ you are interested in learning more, here is some recommended reading:
368
+
369
+ * Mock Objects: http://www.mockobjects.com/
370
+ * Endo-Testing: http://stalatest.googlecode.com/svn/trunk/Literatur/mockobjects.pdf
371
+ * Mock Roles, Not Objects: http://jmock.org/oopsla2004.pdf
372
+ * Test Double: http://www.martinfowler.com/bliki/TestDouble.html
373
+ * Test Double Patterns: http://xunitpatterns.com/Test%20Double%20Patterns.html
374
+ * Mocks aren't stubs: http://www.martinfowler.com/articles/mocksArentStubs.html
375
+
376
+ ## Also see
377
+
378
+ * [http://github.com/rspec/rspec](http://github.com/rspec/rspec)
379
+ * [http://github.com/rspec/rspec-core](http://github.com/rspec/rspec-core)
380
+ * [http://github.com/rspec/rspec-expectations](http://github.com/rspec/rspec-expectations)
@@ -0,0 +1,30 @@
1
+ ### 3.0.2 / 2014-06-20
2
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.0.1...v3.0.2)
3
+
4
+ * Revert `BlockSignature` change from 3.0.1 because of a ruby bug that
5
+ caused it to change the block's behavior (https://bugs.ruby-lang.org/issues/9967).
6
+ (Myron Marston, rspec-mocks#721)
7
+
8
+ ### 3.0.1 / 2014-06-19
9
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.0.0...v3.0.1)
10
+
11
+ * Fix `BlockSignature` so that it correctly differentiates between
12
+ required and optional block args. (Myron Marston, rspec-mocks#714)
13
+
14
+ ### 3.0.0 / 2014-06-01
15
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.0.0.rc1...v3.0.0)
16
+
17
+ ### 3.0.0.rc1 / 2014-05-18
18
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.0.0.beta2...v3.0.0.rc1)
19
+
20
+ ### 3.0.0.beta2 / 2014-02-17
21
+ [Full Changelog](http://github.com/rspec/rspec-support/compare/v3.0.0.beta1...v3.0.0.beta2)
22
+
23
+ Bug Fixes:
24
+
25
+ * Issue message when :replacement is passed to `RSpec.warn_with`. (Jon Rowe)
26
+
27
+ ### 3.0.0.beta1 / 2013-11-07
28
+ [Full Changelog](https://github.com/rspec/rspec-support/compare/0dc12d1bdbbacc757a9989f8c09cd08ef3a4837e...v3.0.0.beta1)
29
+
30
+ Initial release.
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 David Chelimsky, Myron Marston, Jon Rowe, Sam Phippen, Xavier Shay, Bradley Schaefer
2
+
3
+ MIT License
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
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,17 @@
1
+ # RSpec::Support
2
+
3
+ `RSpec::Support` provides common functionality to `RSpec::Core`,
4
+ `RSpec::Expectations` and `RSpec::Mocks`. It is considered
5
+ suitable for internal use only at this time.
6
+
7
+ ## Installation / Usage
8
+
9
+ Install one or more of the `RSpec` gems.
10
+
11
+ ## Contributing
12
+
13
+ 1. Fork it
14
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
15
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
16
+ 4. Push to the branch (`git push origin my-new-feature`)
17
+ 5. Create new Pull Request
@@ -0,0 +1,68 @@
1
+ # -*- encoding: utf-8 -*-
2
+ # stub: diff-lcs 1.2.5 ruby lib
3
+
4
+ Gem::Specification.new do |s|
5
+ s.name = "diff-lcs"
6
+ s.version = "1.2.5"
7
+
8
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
+ s.require_paths = ["lib"]
10
+ s.authors = ["Austin Ziegler"]
11
+ s.cert_chain = ["-----BEGIN CERTIFICATE-----\nMIIDNjCCAh6gAwIBAgIBADANBgkqhkiG9w0BAQUFADBBMQ8wDQYDVQQDDAZhdXN0\naW4xGTAXBgoJkiaJk/IsZAEZFglydWJ5Zm9yZ2UxEzARBgoJkiaJk/IsZAEZFgNv\ncmcwHhcNMTMwMjA0MDMzMzI3WhcNMTQwMjA0MDMzMzI3WjBBMQ8wDQYDVQQDDAZh\ndXN0aW4xGTAXBgoJkiaJk/IsZAEZFglydWJ5Zm9yZ2UxEzARBgoJkiaJk/IsZAEZ\nFgNvcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2mPNf4L37GhKI\nSPCYsvYWXA2/R9u5+pyUnbJ2R1o2CiRq2ZA/AIzY6N3hGnsgoWnh5RzvgTN1Lt08\nDNIrsIG2VDYk/JVt6f9J6zZ8EQHbznWa3cWYoCFaaICdk7jV1n/42hg70jEDYXl9\ngDOl0k6JmyF/rtfFu/OIkFGWeFYIuFHvRuLyUbw66+QDTOzKb3t8o55Ihgy1GVwT\ni6pkDs8LhZWXdOD+921l2Z1NZGZa9KNbJIg6vtgYKU98jQ5qr9iY3ikBAspHrFas\nK6USvGgAg8fCD5YiotBEvCBMYtfqmfrhpdU2p+gvTgeLW1Kaevwqd7ngQmFUrFG1\neUJSURv5AgMBAAGjOTA3MAkGA1UdEwQCMAAwHQYDVR0OBBYEFAtJKMp6YYNqlgR3\n9TiZLWqvLagSMAsGA1UdDwQEAwIEsDANBgkqhkiG9w0BAQUFAAOCAQEApTPkvDm8\n7gJlUT4FfumXPvtuqP67LxUtGE8syvR0A4As+0P/wylLJFUOsGTTdZYtThhxCSJG\n+7KG2FfIcH4Zz2d97arZGAzBoi8iPht2/UtSl1fCcUI5vmJa1MiXZT2oqdW7Wydq\nrAZcBPlrYYuiwtGI0yqIOgBfXSZCWWsJsuyTKELep6mCLgz0YZUfmvKr8W/Ab3ax\nDuLzH92LSRjZJyjyAUpw/Vc2rM4giiP5jtByrb1Y1dGnQhHTMHf1GfucWm7Nw/V9\ntwEPVw8+0f88JQucxOTmTF1NbLFpiRwQUZ1zoZbNg2e7mShc/eexnVLWKFKxRoP6\nKPj3WoD+spB8fA==\n-----END CERTIFICATE-----\n"]
12
+ s.date = "2013-11-08"
13
+ s.description = "Diff::LCS computes the difference between two Enumerable sequences using the\nMcIlroy-Hunt longest common subsequence (LCS) algorithm. It includes utilities\nto create a simple HTML diff output format and a standard diff-like tool.\n\nThis is release 1.2.4, fixing a bug introduced after diff-lcs 1.1.3 that did\nnot properly prune common sequences at the beginning of a comparison set.\nThanks to Paul Kunysch for fixing this issue.\n\nCoincident with the release of diff-lcs 1.2.3, we reported an issue with\nRubinius in 1.9 mode\n({rubinius/rubinius#2268}[https://github.com/rubinius/rubinius/issues/2268]).\nWe are happy to report that this issue has been resolved."
14
+ s.email = ["austin@rubyforge.org"]
15
+ s.executables = ["htmldiff", "ldiff"]
16
+ s.extra_rdoc_files = ["Contributing.rdoc", "History.rdoc", "License.rdoc", "Manifest.txt", "README.rdoc", "docs/COPYING.txt", "docs/artistic.txt"]
17
+ s.files = ["Contributing.rdoc", "History.rdoc", "License.rdoc", "Manifest.txt", "README.rdoc", "bin/htmldiff", "bin/ldiff", "docs/COPYING.txt", "docs/artistic.txt"]
18
+ s.homepage = "http://diff-lcs.rubyforge.org/"
19
+ s.licenses = ["MIT", "Perl Artistic v2", "GNU GPL v2"]
20
+ s.rdoc_options = ["--main", "README.rdoc"]
21
+ s.rubyforge_project = "diff-lcs"
22
+ s.rubygems_version = "2.2.2"
23
+ s.summary = "Diff::LCS computes the difference between two Enumerable sequences using the McIlroy-Hunt longest common subsequence (LCS) algorithm"
24
+
25
+ s.installed_by_version = "2.2.2" if s.respond_to? :installed_by_version
26
+
27
+ if s.respond_to? :specification_version then
28
+ s.specification_version = 4
29
+
30
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
31
+ s.add_development_dependency(%q<rubyforge>, [">= 2.0.4"])
32
+ s.add_development_dependency(%q<rdoc>, ["~> 4.0"])
33
+ s.add_development_dependency(%q<hoe-bundler>, ["~> 1.2"])
34
+ s.add_development_dependency(%q<hoe-doofus>, ["~> 1.0"])
35
+ s.add_development_dependency(%q<hoe-gemspec2>, ["~> 1.1"])
36
+ s.add_development_dependency(%q<hoe-git>, ["~> 1.5"])
37
+ s.add_development_dependency(%q<hoe-rubygems>, ["~> 1.0"])
38
+ s.add_development_dependency(%q<hoe-travis>, ["~> 1.2"])
39
+ s.add_development_dependency(%q<rake>, ["~> 10.0"])
40
+ s.add_development_dependency(%q<rspec>, ["~> 2.0"])
41
+ s.add_development_dependency(%q<hoe>, ["~> 3.7"])
42
+ else
43
+ s.add_dependency(%q<rubyforge>, [">= 2.0.4"])
44
+ s.add_dependency(%q<rdoc>, ["~> 4.0"])
45
+ s.add_dependency(%q<hoe-bundler>, ["~> 1.2"])
46
+ s.add_dependency(%q<hoe-doofus>, ["~> 1.0"])
47
+ s.add_dependency(%q<hoe-gemspec2>, ["~> 1.1"])
48
+ s.add_dependency(%q<hoe-git>, ["~> 1.5"])
49
+ s.add_dependency(%q<hoe-rubygems>, ["~> 1.0"])
50
+ s.add_dependency(%q<hoe-travis>, ["~> 1.2"])
51
+ s.add_dependency(%q<rake>, ["~> 10.0"])
52
+ s.add_dependency(%q<rspec>, ["~> 2.0"])
53
+ s.add_dependency(%q<hoe>, ["~> 3.7"])
54
+ end
55
+ else
56
+ s.add_dependency(%q<rubyforge>, [">= 2.0.4"])
57
+ s.add_dependency(%q<rdoc>, ["~> 4.0"])
58
+ s.add_dependency(%q<hoe-bundler>, ["~> 1.2"])
59
+ s.add_dependency(%q<hoe-doofus>, ["~> 1.0"])
60
+ s.add_dependency(%q<hoe-gemspec2>, ["~> 1.1"])
61
+ s.add_dependency(%q<hoe-git>, ["~> 1.5"])
62
+ s.add_dependency(%q<hoe-rubygems>, ["~> 1.0"])
63
+ s.add_dependency(%q<hoe-travis>, ["~> 1.2"])
64
+ s.add_dependency(%q<rake>, ["~> 10.0"])
65
+ s.add_dependency(%q<rspec>, ["~> 2.0"])
66
+ s.add_dependency(%q<hoe>, ["~> 3.7"])
67
+ end
68
+ end
@@ -0,0 +1,43 @@
1
+ # -*- encoding: utf-8 -*-
2
+ # stub: rspec 3.0.0 ruby lib
3
+
4
+ Gem::Specification.new do |s|
5
+ s.name = "rspec"
6
+ s.version = "3.0.0"
7
+
8
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
+ s.require_paths = ["lib"]
10
+ s.authors = ["Steven Baker", "David Chelimsky", "Myron Marston"]
11
+ s.cert_chain = ["-----BEGIN CERTIFICATE-----\nMIIDjjCCAnagAwIBAgIBATANBgkqhkiG9w0BAQUFADBGMRIwEAYDVQQDDAlyc3Bl\nYy1kZXYxGzAZBgoJkiaJk/IsZAEZFgtnb29nbGVnb3VwczETMBEGCgmSJomT8ixk\nARkWA2NvbTAeFw0xMzExMDcxOTQyNTlaFw0xNDExMDcxOTQyNTlaMEYxEjAQBgNV\nBAMMCXJzcGVjLWRldjEbMBkGCgmSJomT8ixkARkWC2dvb2dsZWdvdXBzMRMwEQYK\nCZImiZPyLGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\nnhCeZouDLXWO55no+EdZNCtjXjfJQ1X9TbPcvBDD29OypIUce2h/VdKXB2gI7ZHs\nF5NkPggslTErGFmWAtIiur7u943RVqHOsyoIsy065F9fCtrykkA+22elvTDha4Iz\nRUCvuhQ3klatYk4jF+cGt1jNONNVdLOiy0bMynvcM7hoVQ2AomwGs+cEOWQ/4dkD\nJcNV3qfzF5QBcTD2372XNM53b25nYVQSX2KH5FF7BhlKyov33bOm2gA9M+mWIujW\nqgkyxVlfrlE+ZBgV3wXn1Cojg1LpTq35yOArgwioyrwwlZZJR9joN9s/nDklfr5A\n+dyETjFc6cmEPWZrt2cJBQIDAQABo4GGMIGDMAkGA1UdEwQCMAAwCwYDVR0PBAQD\nAgSwMB0GA1UdDgQWBBSW+WD7hn1swJ1A7i8tbuFeuNCJCjAkBgNVHREEHTAbgRly\nc3BlYy1kZXZAZ29vZ2xlZ291cHMuY29tMCQGA1UdEgQdMBuBGXJzcGVjLWRldkBn\nb29nbGVnb3Vwcy5jb20wDQYJKoZIhvcNAQEFBQADggEBAH27jAZ8sD7vnXupj6Y+\nBaBdfHtCkFaslLJ0aKuMDIVXwYuKfqoW15cZPDLmSIEBuQFM3lw6d/hEEL4Uo2jZ\nFvtmH5OxifPDzFyUtCL4yp6qgNe/Xf6sDsRg6FmKcpgqCwNOmsViaf0LPSUH/GYQ\n3Teoz8QCaDbD7AKsffT7eDrnbHnKweO1XdemRJC98u/yYxnGzMSWKEsn09etBlZ9\n7H67k5Z3uf6cfLZgToWL6zShzZY3Nun5r73YsNf2/QZOe4UZe4vfGvn6baw53ys9\n1yHC1AcSYpvi2dAbOiHT5iQF+krm4wse8KctXgTNnjMsHEoGKulJS2/sZl90jcCz\nmuA=\n-----END CERTIFICATE-----\n"]
12
+ s.date = "2014-06-02"
13
+ s.description = "BDD for Ruby"
14
+ s.email = "rspec@googlegroups.com"
15
+ s.extra_rdoc_files = ["README.md"]
16
+ s.files = ["README.md"]
17
+ s.homepage = "http://github.com/rspec"
18
+ s.licenses = ["MIT"]
19
+ s.rdoc_options = ["--charset=UTF-8"]
20
+ s.rubyforge_project = "rspec"
21
+ s.rubygems_version = "2.2.2"
22
+ s.summary = "rspec-3.0.0"
23
+
24
+ s.installed_by_version = "2.2.2" if s.respond_to? :installed_by_version
25
+
26
+ if s.respond_to? :specification_version then
27
+ s.specification_version = 4
28
+
29
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
30
+ s.add_runtime_dependency(%q<rspec-core>, ["~> 3.0.0"])
31
+ s.add_runtime_dependency(%q<rspec-expectations>, ["~> 3.0.0"])
32
+ s.add_runtime_dependency(%q<rspec-mocks>, ["~> 3.0.0"])
33
+ else
34
+ s.add_dependency(%q<rspec-core>, ["~> 3.0.0"])
35
+ s.add_dependency(%q<rspec-expectations>, ["~> 3.0.0"])
36
+ s.add_dependency(%q<rspec-mocks>, ["~> 3.0.0"])
37
+ end
38
+ else
39
+ s.add_dependency(%q<rspec-core>, ["~> 3.0.0"])
40
+ s.add_dependency(%q<rspec-expectations>, ["~> 3.0.0"])
41
+ s.add_dependency(%q<rspec-mocks>, ["~> 3.0.0"])
42
+ end
43
+ end
@@ -0,0 +1,66 @@
1
+ # -*- encoding: utf-8 -*-
2
+ # stub: rspec-core 3.0.2 ruby lib
3
+
4
+ Gem::Specification.new do |s|
5
+ s.name = "rspec-core"
6
+ s.version = "3.0.2"
7
+
8
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
+ s.require_paths = ["lib"]
10
+ s.authors = ["Steven Baker", "David Chelimsky", "Chad Humphries", "Myron Marston"]
11
+ s.bindir = "exe"
12
+ s.cert_chain = ["-----BEGIN CERTIFICATE-----\nMIIDjjCCAnagAwIBAgIBATANBgkqhkiG9w0BAQUFADBGMRIwEAYDVQQDDAlyc3Bl\nYy1kZXYxGzAZBgoJkiaJk/IsZAEZFgtnb29nbGVnb3VwczETMBEGCgmSJomT8ixk\nARkWA2NvbTAeFw0xMzExMDcxOTQyNTlaFw0xNDExMDcxOTQyNTlaMEYxEjAQBgNV\nBAMMCXJzcGVjLWRldjEbMBkGCgmSJomT8ixkARkWC2dvb2dsZWdvdXBzMRMwEQYK\nCZImiZPyLGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\nnhCeZouDLXWO55no+EdZNCtjXjfJQ1X9TbPcvBDD29OypIUce2h/VdKXB2gI7ZHs\nF5NkPggslTErGFmWAtIiur7u943RVqHOsyoIsy065F9fCtrykkA+22elvTDha4Iz\nRUCvuhQ3klatYk4jF+cGt1jNONNVdLOiy0bMynvcM7hoVQ2AomwGs+cEOWQ/4dkD\nJcNV3qfzF5QBcTD2372XNM53b25nYVQSX2KH5FF7BhlKyov33bOm2gA9M+mWIujW\nqgkyxVlfrlE+ZBgV3wXn1Cojg1LpTq35yOArgwioyrwwlZZJR9joN9s/nDklfr5A\n+dyETjFc6cmEPWZrt2cJBQIDAQABo4GGMIGDMAkGA1UdEwQCMAAwCwYDVR0PBAQD\nAgSwMB0GA1UdDgQWBBSW+WD7hn1swJ1A7i8tbuFeuNCJCjAkBgNVHREEHTAbgRly\nc3BlYy1kZXZAZ29vZ2xlZ291cHMuY29tMCQGA1UdEgQdMBuBGXJzcGVjLWRldkBn\nb29nbGVnb3Vwcy5jb20wDQYJKoZIhvcNAQEFBQADggEBAH27jAZ8sD7vnXupj6Y+\nBaBdfHtCkFaslLJ0aKuMDIVXwYuKfqoW15cZPDLmSIEBuQFM3lw6d/hEEL4Uo2jZ\nFvtmH5OxifPDzFyUtCL4yp6qgNe/Xf6sDsRg6FmKcpgqCwNOmsViaf0LPSUH/GYQ\n3Teoz8QCaDbD7AKsffT7eDrnbHnKweO1XdemRJC98u/yYxnGzMSWKEsn09etBlZ9\n7H67k5Z3uf6cfLZgToWL6zShzZY3Nun5r73YsNf2/QZOe4UZe4vfGvn6baw53ys9\n1yHC1AcSYpvi2dAbOiHT5iQF+krm4wse8KctXgTNnjMsHEoGKulJS2/sZl90jcCz\nmuA=\n-----END CERTIFICATE-----\n"]
13
+ s.date = "2014-06-20"
14
+ s.description = "BDD for Ruby. RSpec runner and example groups."
15
+ s.email = "rspec@googlegroups.com"
16
+ s.executables = ["rspec"]
17
+ s.files = ["exe/rspec"]
18
+ s.homepage = "http://github.com/rspec/rspec-core"
19
+ s.licenses = ["MIT"]
20
+ s.rdoc_options = ["--charset=UTF-8"]
21
+ s.required_ruby_version = Gem::Requirement.new(">= 1.8.7")
22
+ s.rubyforge_project = "rspec"
23
+ s.rubygems_version = "2.2.2"
24
+ s.summary = "rspec-core-3.0.2"
25
+
26
+ s.installed_by_version = "2.2.2" if s.respond_to? :installed_by_version
27
+
28
+ if s.respond_to? :specification_version then
29
+ s.specification_version = 4
30
+
31
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
32
+ s.add_runtime_dependency(%q<rspec-support>, ["~> 3.0.0"])
33
+ s.add_development_dependency(%q<rake>, ["~> 10.0.0"])
34
+ s.add_development_dependency(%q<cucumber>, ["~> 1.3"])
35
+ s.add_development_dependency(%q<minitest>, ["~> 5.3"])
36
+ s.add_development_dependency(%q<aruba>, ["~> 0.5"])
37
+ s.add_development_dependency(%q<nokogiri>, ["= 1.5.2"])
38
+ s.add_development_dependency(%q<coderay>, ["~> 1.0.9"])
39
+ s.add_development_dependency(%q<mocha>, ["~> 0.13.0"])
40
+ s.add_development_dependency(%q<rr>, ["~> 1.0.4"])
41
+ s.add_development_dependency(%q<flexmock>, ["~> 0.9.0"])
42
+ else
43
+ s.add_dependency(%q<rspec-support>, ["~> 3.0.0"])
44
+ s.add_dependency(%q<rake>, ["~> 10.0.0"])
45
+ s.add_dependency(%q<cucumber>, ["~> 1.3"])
46
+ s.add_dependency(%q<minitest>, ["~> 5.3"])
47
+ s.add_dependency(%q<aruba>, ["~> 0.5"])
48
+ s.add_dependency(%q<nokogiri>, ["= 1.5.2"])
49
+ s.add_dependency(%q<coderay>, ["~> 1.0.9"])
50
+ s.add_dependency(%q<mocha>, ["~> 0.13.0"])
51
+ s.add_dependency(%q<rr>, ["~> 1.0.4"])
52
+ s.add_dependency(%q<flexmock>, ["~> 0.9.0"])
53
+ end
54
+ else
55
+ s.add_dependency(%q<rspec-support>, ["~> 3.0.0"])
56
+ s.add_dependency(%q<rake>, ["~> 10.0.0"])
57
+ s.add_dependency(%q<cucumber>, ["~> 1.3"])
58
+ s.add_dependency(%q<minitest>, ["~> 5.3"])
59
+ s.add_dependency(%q<aruba>, ["~> 0.5"])
60
+ s.add_dependency(%q<nokogiri>, ["= 1.5.2"])
61
+ s.add_dependency(%q<coderay>, ["~> 1.0.9"])
62
+ s.add_dependency(%q<mocha>, ["~> 0.13.0"])
63
+ s.add_dependency(%q<rr>, ["~> 1.0.4"])
64
+ s.add_dependency(%q<flexmock>, ["~> 0.9.0"])
65
+ end
66
+ end