mocha 1.10.0 → 1.11.2

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 +4 -4
  2. data/.github/FUNDING.yml +1 -0
  3. data/.yardopts +1 -0
  4. data/RELEASE.md +49 -0
  5. data/Rakefile +1 -4
  6. data/docs/Mocha.html +2 -2
  7. data/docs/Mocha/API.html +167 -35
  8. data/docs/Mocha/ClassMethods.html +2 -2
  9. data/docs/Mocha/Configuration.html +197 -55
  10. data/docs/Mocha/Expectation.html +284 -76
  11. data/docs/Mocha/ExpectationError.html +2 -2
  12. data/docs/Mocha/ExpectationErrorFactory.html +2 -2
  13. data/docs/Mocha/Hooks.html +2 -2
  14. data/docs/Mocha/Integration.html +2 -2
  15. data/docs/Mocha/Integration/MiniTest.html +2 -2
  16. data/docs/Mocha/Integration/MiniTest/Adapter.html +2 -2
  17. data/docs/Mocha/Integration/TestUnit.html +2 -2
  18. data/docs/Mocha/Integration/TestUnit/Adapter.html +2 -2
  19. data/docs/Mocha/Mock.html +14 -41
  20. data/docs/Mocha/ObjectMethods.html +2 -2
  21. data/docs/Mocha/ParameterMatchers.html +14 -26
  22. data/docs/Mocha/ParameterMatchers/AllOf.html +2 -2
  23. data/docs/Mocha/ParameterMatchers/AnyOf.html +2 -2
  24. data/docs/Mocha/ParameterMatchers/AnyParameters.html +2 -2
  25. data/docs/Mocha/ParameterMatchers/Anything.html +2 -2
  26. data/docs/Mocha/ParameterMatchers/Base.html +2 -2
  27. data/docs/Mocha/ParameterMatchers/Equals.html +2 -2
  28. data/docs/Mocha/ParameterMatchers/EquivalentUri.html +2 -2
  29. data/docs/Mocha/ParameterMatchers/HasEntries.html +2 -2
  30. data/docs/Mocha/ParameterMatchers/HasEntry.html +2 -2
  31. data/docs/Mocha/ParameterMatchers/HasKey.html +2 -2
  32. data/docs/Mocha/ParameterMatchers/HasValue.html +2 -2
  33. data/docs/Mocha/ParameterMatchers/Includes.html +2 -2
  34. data/docs/Mocha/ParameterMatchers/InstanceOf.html +2 -2
  35. data/docs/Mocha/ParameterMatchers/IsA.html +2 -2
  36. data/docs/Mocha/ParameterMatchers/KindOf.html +2 -2
  37. data/docs/Mocha/ParameterMatchers/Not.html +2 -2
  38. data/docs/Mocha/ParameterMatchers/Optionally.html +2 -2
  39. data/docs/Mocha/ParameterMatchers/RegexpMatches.html +2 -2
  40. data/docs/Mocha/ParameterMatchers/RespondsWith.html +2 -2
  41. data/docs/Mocha/ParameterMatchers/YamlEquivalent.html +2 -2
  42. data/docs/Mocha/Sequence.html +2 -2
  43. data/docs/Mocha/StateMachine.html +5 -5
  44. data/docs/Mocha/StateMachine/State.html +2 -2
  45. data/docs/Mocha/StateMachine/StatePredicate.html +2 -2
  46. data/docs/Mocha/StubbingError.html +2 -2
  47. data/docs/_index.html +3 -3
  48. data/docs/file.COPYING.html +2 -2
  49. data/docs/file.MIT-LICENSE.html +2 -2
  50. data/docs/file.README.html +2 -2
  51. data/docs/file.RELEASE.html +74 -2
  52. data/docs/frames.html +1 -1
  53. data/docs/index.html +2 -2
  54. data/docs/method_list.html +51 -27
  55. data/docs/top-level-namespace.html +2 -2
  56. data/lib/mocha/api.rb +83 -19
  57. data/lib/mocha/block_matcher.rb +31 -0
  58. data/lib/mocha/configuration.rb +57 -1
  59. data/lib/mocha/deprecation.rb +2 -1
  60. data/lib/mocha/expectation.rb +48 -7
  61. data/lib/mocha/invocation.rb +20 -4
  62. data/lib/mocha/mock.rb +42 -16
  63. data/lib/mocha/mockery.rb +14 -14
  64. data/lib/mocha/parameter_matchers/has_entries.rb +2 -3
  65. data/lib/mocha/parameter_matchers/has_entry.rb +2 -3
  66. data/lib/mocha/parameter_matchers/has_key.rb +2 -3
  67. data/lib/mocha/parameter_matchers/has_value.rb +2 -3
  68. data/lib/mocha/parameter_matchers/is_a.rb +2 -3
  69. data/lib/mocha/parameter_matchers/not.rb +2 -3
  70. data/lib/mocha/state_machine.rb +2 -3
  71. data/lib/mocha/stubbed_method.rb +4 -6
  72. data/lib/mocha/version.rb +1 -1
  73. data/lib/mocha/yield_parameters.rb +5 -11
  74. data/test/acceptance/acceptance_test_helper.rb +1 -0
  75. data/test/acceptance/display_matching_invocations_alongside_expectations_test.rb +5 -5
  76. data/test/acceptance/failure_messages_test.rb +16 -0
  77. data/test/acceptance/issue_457_test.rb +31 -0
  78. data/test/acceptance/mocha_example_test.rb +11 -1
  79. data/test/acceptance/mock_built_with_first_argument_type_being_string_test.rb +98 -0
  80. data/test/acceptance/mock_test.rb +64 -12
  81. data/test/acceptance/multiple_yielding_test.rb +59 -0
  82. data/test/acceptance/stubba_example_test.rb +11 -1
  83. data/test/acceptance/stubbing_non_existent_any_instance_method_test.rb +16 -0
  84. data/test/acceptance/yielding_test.rb +80 -0
  85. data/test/unit/expectation_test.rb +30 -3
  86. data/test/unit/yield_parameters_test.rb +35 -53
  87. metadata +8 -9
  88. data/lib/mocha/multiple_yields.rb +0 -15
  89. data/lib/mocha/no_yields.rb +0 -5
  90. data/lib/mocha/pretty_parameters.rb +0 -24
  91. data/lib/mocha/single_yield.rb +0 -13
  92. data/test/unit/multiple_yields_test.rb +0 -16
  93. data/test/unit/no_yields_test.rb +0 -16
  94. data/test/unit/single_yield_test.rb +0 -16
@@ -1,15 +0,0 @@
1
- module Mocha
2
- class MultipleYields
3
- attr_reader :parameter_groups
4
-
5
- def initialize(*parameter_groups)
6
- @parameter_groups = parameter_groups
7
- end
8
-
9
- def each
10
- @parameter_groups.each do |parameter_group|
11
- yield(parameter_group)
12
- end
13
- end
14
- end
15
- end
@@ -1,5 +0,0 @@
1
- module Mocha
2
- class NoYields
3
- def each; end
4
- end
5
- end
@@ -1,24 +0,0 @@
1
- require 'mocha/inspect'
2
-
3
- module Mocha
4
- class PrettyParameters
5
- def initialize(params)
6
- @params = params
7
- @params_string = params.mocha_inspect
8
- end
9
-
10
- def pretty
11
- remove_outer_array_braces!
12
- remove_outer_hash_braces!
13
- @params_string
14
- end
15
-
16
- def remove_outer_array_braces!
17
- @params_string = @params_string.gsub(/^\[|\]$/, '')
18
- end
19
-
20
- def remove_outer_hash_braces!
21
- @params_string = @params_string.gsub(/^\{|\}$/, '') if @params.length == 1
22
- end
23
- end
24
- end
@@ -1,13 +0,0 @@
1
- module Mocha
2
- class SingleYield
3
- attr_reader :parameters
4
-
5
- def initialize(*parameters)
6
- @parameters = parameters
7
- end
8
-
9
- def each
10
- yield(@parameters)
11
- end
12
- end
13
- end
@@ -1,16 +0,0 @@
1
- require File.expand_path('../../test_helper', __FILE__)
2
-
3
- require 'mocha/multiple_yields'
4
-
5
- class MultipleYieldsTest < Mocha::TestCase
6
- include Mocha
7
-
8
- def test_should_provide_parameters_for_multiple_yields_in_single_invocation
9
- parameter_group = MultipleYields.new([1, 2, 3], [4, 5])
10
- parameter_groups = []
11
- parameter_group.each do |parameters|
12
- parameter_groups << parameters
13
- end
14
- assert_equal [[1, 2, 3], [4, 5]], parameter_groups
15
- end
16
- end
@@ -1,16 +0,0 @@
1
- require File.expand_path('../../test_helper', __FILE__)
2
-
3
- require 'mocha/no_yields'
4
-
5
- class NoYieldsTest < Mocha::TestCase
6
- include Mocha
7
-
8
- def test_should_provide_parameters_for_no_yields_in_single_invocation
9
- parameter_group = NoYields.new
10
- parameter_groups = []
11
- parameter_group.each do |parameters|
12
- parameter_groups << parameters
13
- end
14
- assert_equal [], parameter_groups
15
- end
16
- end
@@ -1,16 +0,0 @@
1
- require File.expand_path('../../test_helper', __FILE__)
2
-
3
- require 'mocha/single_yield'
4
-
5
- class SingleYieldTest < Mocha::TestCase
6
- include Mocha
7
-
8
- def test_should_provide_parameters_for_single_yield_in_single_invocation
9
- parameter_group = SingleYield.new(1, 2, 3)
10
- parameter_groups = []
11
- parameter_group.each do |parameters|
12
- parameter_groups << parameters
13
- end
14
- assert_equal [[1, 2, 3]], parameter_groups
15
- end
16
- end