caricature 0.7.5 → 0.7.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. data/README.rdoc +97 -97
  2. data/Rakefile +309 -310
  3. data/caricature.gemspec +123 -110
  4. data/lib/caricature/bacon/integration.rb +75 -75
  5. data/lib/caricature/bacon.rb +2 -2
  6. data/lib/caricature/clr/descriptor.rb +159 -159
  7. data/lib/caricature/clr/event_verification.rb +56 -56
  8. data/lib/caricature/clr/expectation.rb +100 -100
  9. data/lib/caricature/clr/isolation.rb +78 -78
  10. data/lib/caricature/clr/isolator.rb +252 -252
  11. data/lib/caricature/clr/messenger.rb +51 -49
  12. data/lib/caricature/clr/method_call_recorder.rb +96 -96
  13. data/lib/caricature/expectation.rb +1 -1
  14. data/lib/caricature/method_call_recorder.rb +3 -3
  15. data/lib/caricature/rspec/integration.rb +118 -118
  16. data/lib/caricature/version.rb +5 -5
  17. data/lib/caricature.rb +25 -25
  18. data/spec/bacon/integration/callback_spec.rb +156 -156
  19. data/spec/bacon/integration/clr_to_clr_spec.rb +325 -253
  20. data/spec/bacon/integration/event_spec.rb +97 -97
  21. data/spec/bacon/integration/indexer_spec.rb +27 -27
  22. data/spec/bacon/spec_helper.rb +4 -4
  23. data/spec/bacon/unit/descriptor_spec.rb +212 -212
  24. data/spec/bacon/unit/sword_spec.rb +39 -39
  25. data/spec/bacon/unit/verification_spec.rb +103 -103
  26. data/spec/bin/ClrModels.dll +0 -0
  27. data/spec/bin/ClrModels.dll.mdb +0 -0
  28. data/spec/fixtures/ExplodingCar.cs +56 -0
  29. data/spec/fixtures/ExposedChangedSubscriber.cs +26 -0
  30. data/spec/fixtures/ExposingWarrior.cs +58 -0
  31. data/spec/fixtures/IExplodingWarrior.cs +10 -0
  32. data/spec/fixtures/IExposing.cs +9 -0
  33. data/spec/fixtures/IExposingBridge.cs +9 -0
  34. data/spec/fixtures/IExposingWarrior.cs +8 -0
  35. data/spec/fixtures/IHaveAnIndexer.cs +8 -0
  36. data/spec/fixtures/IWarrior.cs +13 -0
  37. data/spec/fixtures/IWeapon.cs +9 -0
  38. data/spec/fixtures/IndexerCaller.cs +17 -0
  39. data/spec/fixtures/IndexerContained.cs +20 -0
  40. data/spec/fixtures/MyClassWithAStatic.cs +16 -0
  41. data/spec/fixtures/Ninja.cs +34 -0
  42. data/spec/fixtures/Samurai.cs +29 -0
  43. data/spec/fixtures/StaticCaller.cs +12 -0
  44. data/spec/fixtures/Sword.cs +16 -0
  45. data/spec/fixtures/SwordWithStatics.cs +19 -0
  46. data/spec/fixtures/clr_interaction.rb +61 -0
  47. data/spec/fixtures/dagger.rb +11 -0
  48. data/spec/fixtures/dagger_with_class_members.rb +11 -0
  49. data/spec/fixtures/sheath.rb +19 -0
  50. data/spec/fixtures/soldier.rb +29 -0
  51. data/spec/fixtures/soldier_with_class_members.rb +7 -0
  52. data/spec/fixtures/swift_cleanup_crew.rb +21 -0
  53. data/spec/fixtures/with_class_methods.rb +11 -0
  54. data/spec/{models → models.notused}/ClrModels.cs +241 -241
  55. data/spec/{models → models.notused}/ruby_models.rb +150 -150
  56. data/spec/rspec/integration/callback_spec.rb +156 -156
  57. data/spec/rspec/integration/clr_to_clr_spec.rb +254 -254
  58. data/spec/rspec/integration/clr_to_ruby_spec.rb +227 -227
  59. data/spec/rspec/integration/indexer_spec.rb +27 -27
  60. data/spec/rspec/integration/ruby_to_ruby_spec.rb +271 -271
  61. data/spec/rspec/spec_helper.rb +12 -12
  62. data/spec/rspec/unit/core_ext_spec.rb +87 -87
  63. data/spec/rspec/unit/descriptor_spec.rb +210 -210
  64. data/spec/rspec/unit/event_spec.rb +16 -16
  65. data/spec/rspec/unit/expectation_spec.rb +300 -300
  66. data/spec/rspec/unit/interop_spec.rb +29 -29
  67. data/spec/rspec/unit/isolation_spec.rb +86 -86
  68. data/spec/rspec/unit/isolator_spec.rb +219 -219
  69. data/spec/rspec/unit/messaging_spec.rb +310 -310
  70. data/spec/rspec/unit/method_call_spec.rb +342 -342
  71. data/spec/rspec/unit/sword_spec.rb +39 -39
  72. data/spec/rspec/unit/verification_spec.rb +103 -103
  73. data/spec/spec_helper.rb +16 -15
  74. metadata +42 -11
data/caricature.gemspec CHANGED
@@ -1,111 +1,124 @@
1
- # WARNING : RAKE AUTO-GENERATED FILE. DO NOT MANUALLY EDIT!
2
- # RUN : 'rake gem:update_gemspec'
3
-
4
- Gem::Specification.new do |s|
5
- s.authors = ["Ivan Porto Carrero"]
6
- s.bindir = "bin"
7
- s.add_dependency "uuidtools", ">= 2.0.0, runtime"
8
- s.description = "Caricature brings simple mocking to Ruby, DLR and CLR."
9
- s.email = "ivan@flanders.co.nz"
10
- s.extra_rdoc_files = ["README.rdoc"]
11
- s.files = ["README.rdoc",
12
- "Rakefile",
13
- "caricature.gemspec",
14
- "lib/caricature",
15
- "lib/caricature.rb",
16
- "lib/caricature/bacon",
17
- "lib/caricature/bacon.rb",
18
- "lib/caricature/bacon/integration.rb",
19
- "lib/caricature/clr",
20
- "lib/caricature/clr.rb",
21
- "lib/caricature/clr/aspnet_mvc.rb",
22
- "lib/caricature/clr/descriptor.rb",
23
- "lib/caricature/clr/event_verification.rb",
24
- "lib/caricature/clr/expectation.rb",
25
- "lib/caricature/clr/isolation.rb",
26
- "lib/caricature/clr/isolator.rb",
27
- "lib/caricature/clr/messenger.rb",
28
- "lib/caricature/clr/method_call_recorder.rb",
29
- "lib/caricature/core_ext",
30
- "lib/caricature/core_ext.rb",
31
- "lib/caricature/core_ext/array.rb",
32
- "lib/caricature/core_ext/class.rb",
33
- "lib/caricature/core_ext/hash.rb",
34
- "lib/caricature/core_ext/module.rb",
35
- "lib/caricature/core_ext/object.rb",
36
- "lib/caricature/core_ext/string.rb",
37
- "lib/caricature/core_ext/system",
38
- "lib/caricature/core_ext/system/string.rb",
39
- "lib/caricature/core_ext/system/type.rb",
40
- "lib/caricature/descriptor.rb",
41
- "lib/caricature/expectation.rb",
42
- "lib/caricature/isolation.rb",
43
- "lib/caricature/isolator.rb",
44
- "lib/caricature/messenger.rb",
45
- "lib/caricature/method_call_recorder.rb",
46
- "lib/caricature/rspec",
47
- "lib/caricature/rspec.rb",
48
- "lib/caricature/rspec/integration.rb",
49
- "lib/caricature/verification.rb",
50
- "lib/caricature/version.rb",
51
- "spec/bacon",
52
- "spec/bacon/integration",
53
- "spec/bacon/integration/callback_spec.rb",
54
- "spec/bacon/integration/clr_to_clr_spec.rb",
55
- "spec/bacon/integration/clr_to_ruby_spec.rb",
56
- "spec/bacon/integration/event_spec.rb",
57
- "spec/bacon/integration/indexer_spec.rb",
58
- "spec/bacon/integration/ruby_to_ruby_spec.rb",
59
- "spec/bacon/spec_helper.rb",
60
- "spec/bacon/unit",
61
- "spec/bacon/unit/core_ext_spec.rb",
62
- "spec/bacon/unit/descriptor_spec.rb",
63
- "spec/bacon/unit/expectation_spec.rb",
64
- "spec/bacon/unit/interop_spec.rb",
65
- "spec/bacon/unit/isolation_spec.rb",
66
- "spec/bacon/unit/isolator_spec.rb",
67
- "spec/bacon/unit/messaging_spec.rb",
68
- "spec/bacon/unit/method_call_spec.rb",
69
- "spec/bacon/unit/sword_spec.rb",
70
- "spec/bacon/unit/verification_spec.rb",
71
- "spec/bin",
72
- "spec/bin/ClrModels.dll",
73
- "spec/models",
74
- "spec/models/ClrModels.cs",
75
- "spec/models/ruby_models.rb",
76
- "spec/rspec",
77
- "spec/rspec/integration",
78
- "spec/rspec/integration/callback_spec.rb",
79
- "spec/rspec/integration/clr_to_clr_spec.rb",
80
- "spec/rspec/integration/clr_to_ruby_spec.rb",
81
- "spec/rspec/integration/indexer_spec.rb",
82
- "spec/rspec/integration/ruby_to_ruby_spec.rb",
83
- "spec/rspec/spec_helper.rb",
84
- "spec/rspec/unit",
85
- "spec/rspec/unit/core_ext_spec.rb",
86
- "spec/rspec/unit/descriptor_spec.rb",
87
- "spec/rspec/unit/event_spec.rb",
88
- "spec/rspec/unit/expectation_spec.rb",
89
- "spec/rspec/unit/interop_spec.rb",
90
- "spec/rspec/unit/isolation_spec.rb",
91
- "spec/rspec/unit/isolator_spec.rb",
92
- "spec/rspec/unit/messaging_spec.rb",
93
- "spec/rspec/unit/method_call_spec.rb",
94
- "spec/rspec/unit/sword_spec.rb",
95
- "spec/rspec/unit/verification_spec.rb",
96
- "spec/spec_helper.rb"]
97
- s.has_rdoc = true
98
- s.homepage = "http://casualjim.github.com/caricature"
99
- s.loaded = false
100
- s.name = "caricature"
101
- s.platform = "ruby"
102
- s.rdoc_options = ["--quiet", "--title", "Caricature brings simple mocking to Ruby, DLR and CLR.", "--main", "README.rdoc", "--line-numbers", "--format", "darkfish"]
103
- s.require_paths = ["lib"]
104
- s.required_ruby_version = ">= 1.8.4"
105
- s.required_rubygems_version = ">= 0"
106
- s.rubyforge_project = "caricature"
107
- s.rubygems_version = "1.3.5"
108
- s.specification_version = 3
109
- s.summary = "Caricature brings simple mocking to Ruby, DLR and CLR."
110
- s.version = "0.7.5"
1
+ # WARNING : RAKE AUTO-GENERATED FILE. DO NOT MANUALLY EDIT!
2
+ # RUN : 'rake gem:update_gemspec'
3
+
4
+ Gem::Specification.new do |s|
5
+ s.authors = ["Ivan Porto Carrero"]
6
+ s.bindir = "bin"
7
+ s.add_dependency "uuidtools", ">= 2.0.0, runtime"
8
+ s.description = "Caricature brings simple mocking to Ruby, DLR and CLR."
9
+ s.email = "ivan@flanders.co.nz"
10
+ s.extra_rdoc_files = ["README.rdoc"]
11
+ s.files = ["README.rdoc",
12
+ "Rakefile",
13
+ "caricature.gemspec",
14
+ "lib/caricature.rb",
15
+ "lib/caricature/bacon.rb",
16
+ "lib/caricature/bacon/integration.rb",
17
+ "lib/caricature/clr.rb",
18
+ "lib/caricature/clr/aspnet_mvc.rb",
19
+ "lib/caricature/clr/descriptor.rb",
20
+ "lib/caricature/clr/event_verification.rb",
21
+ "lib/caricature/clr/expectation.rb",
22
+ "lib/caricature/clr/isolation.rb",
23
+ "lib/caricature/clr/isolator.rb",
24
+ "lib/caricature/clr/messenger.rb",
25
+ "lib/caricature/clr/method_call_recorder.rb",
26
+ "lib/caricature/core_ext.rb",
27
+ "lib/caricature/core_ext/array.rb",
28
+ "lib/caricature/core_ext/class.rb",
29
+ "lib/caricature/core_ext/hash.rb",
30
+ "lib/caricature/core_ext/module.rb",
31
+ "lib/caricature/core_ext/object.rb",
32
+ "lib/caricature/core_ext/string.rb",
33
+ "lib/caricature/core_ext/system/string.rb",
34
+ "lib/caricature/core_ext/system/type.rb",
35
+ "lib/caricature/descriptor.rb",
36
+ "lib/caricature/expectation.rb",
37
+ "lib/caricature/isolation.rb",
38
+ "lib/caricature/isolator.rb",
39
+ "lib/caricature/messenger.rb",
40
+ "lib/caricature/method_call_recorder.rb",
41
+ "lib/caricature/rspec.rb",
42
+ "lib/caricature/rspec/integration.rb",
43
+ "lib/caricature/verification.rb",
44
+ "lib/caricature/version.rb",
45
+ "spec/bacon/integration/callback_spec.rb",
46
+ "spec/bacon/integration/clr_to_clr_spec.rb",
47
+ "spec/bacon/integration/clr_to_ruby_spec.rb",
48
+ "spec/bacon/integration/event_spec.rb",
49
+ "spec/bacon/integration/indexer_spec.rb",
50
+ "spec/bacon/integration/ruby_to_ruby_spec.rb",
51
+ "spec/bacon/spec_helper.rb",
52
+ "spec/bacon/unit/core_ext_spec.rb",
53
+ "spec/bacon/unit/descriptor_spec.rb",
54
+ "spec/bacon/unit/expectation_spec.rb",
55
+ "spec/bacon/unit/interop_spec.rb",
56
+ "spec/bacon/unit/isolation_spec.rb",
57
+ "spec/bacon/unit/isolator_spec.rb",
58
+ "spec/bacon/unit/messaging_spec.rb",
59
+ "spec/bacon/unit/method_call_spec.rb",
60
+ "spec/bacon/unit/sword_spec.rb",
61
+ "spec/bacon/unit/verification_spec.rb",
62
+ "spec/bin/ClrModels.dll",
63
+ "spec/bin/ClrModels.dll.mdb",
64
+ "spec/fixtures/ExplodingCar.cs",
65
+ "spec/fixtures/ExposedChangedSubscriber.cs",
66
+ "spec/fixtures/ExposingWarrior.cs",
67
+ "spec/fixtures/IExplodingWarrior.cs",
68
+ "spec/fixtures/IExposing.cs",
69
+ "spec/fixtures/IExposingBridge.cs",
70
+ "spec/fixtures/IExposingWarrior.cs",
71
+ "spec/fixtures/IHaveAnIndexer.cs",
72
+ "spec/fixtures/IWarrior.cs",
73
+ "spec/fixtures/IWeapon.cs",
74
+ "spec/fixtures/IndexerCaller.cs",
75
+ "spec/fixtures/IndexerContained.cs",
76
+ "spec/fixtures/MyClassWithAStatic.cs",
77
+ "spec/fixtures/Ninja.cs",
78
+ "spec/fixtures/Samurai.cs",
79
+ "spec/fixtures/StaticCaller.cs",
80
+ "spec/fixtures/Sword.cs",
81
+ "spec/fixtures/SwordWithStatics.cs",
82
+ "spec/fixtures/clr_interaction.rb",
83
+ "spec/fixtures/dagger.rb",
84
+ "spec/fixtures/dagger_with_class_members.rb",
85
+ "spec/fixtures/sheath.rb",
86
+ "spec/fixtures/soldier.rb",
87
+ "spec/fixtures/soldier_with_class_members.rb",
88
+ "spec/fixtures/swift_cleanup_crew.rb",
89
+ "spec/fixtures/with_class_methods.rb",
90
+ "spec/models.notused/ClrModels.cs",
91
+ "spec/models.notused/ruby_models.rb",
92
+ "spec/rspec/integration/callback_spec.rb",
93
+ "spec/rspec/integration/clr_to_clr_spec.rb",
94
+ "spec/rspec/integration/clr_to_ruby_spec.rb",
95
+ "spec/rspec/integration/indexer_spec.rb",
96
+ "spec/rspec/integration/ruby_to_ruby_spec.rb",
97
+ "spec/rspec/spec_helper.rb",
98
+ "spec/rspec/unit/core_ext_spec.rb",
99
+ "spec/rspec/unit/descriptor_spec.rb",
100
+ "spec/rspec/unit/event_spec.rb",
101
+ "spec/rspec/unit/expectation_spec.rb",
102
+ "spec/rspec/unit/interop_spec.rb",
103
+ "spec/rspec/unit/isolation_spec.rb",
104
+ "spec/rspec/unit/isolator_spec.rb",
105
+ "spec/rspec/unit/messaging_spec.rb",
106
+ "spec/rspec/unit/method_call_spec.rb",
107
+ "spec/rspec/unit/sword_spec.rb",
108
+ "spec/rspec/unit/verification_spec.rb",
109
+ "spec/spec_helper.rb"]
110
+ s.has_rdoc = true
111
+ s.homepage = "http://casualjim.github.com/caricature"
112
+ s.loaded = false
113
+ s.name = "caricature"
114
+ s.platform = "ruby"
115
+ s.rdoc_options = ["--quiet", "--title", "Caricature brings simple mocking to Ruby, DLR and CLR.", "--main", "README.rdoc", "--line-numbers"]
116
+ s.require_paths = ["lib"]
117
+ s.required_ruby_version = ">= 1.8.6"
118
+ s.required_rubygems_version = ">= 0"
119
+ s.rubyforge_project = "caricature"
120
+ s.rubygems_version = "1.3.5"
121
+ s.specification_version = 3
122
+ s.summary = "Caricature brings simple mocking to Ruby, DLR and CLR."
123
+ s.version = "0.7.6"
111
124
  end
@@ -1,75 +1,75 @@
1
- class Should
2
-
3
- def have_received?(name, &b)
4
- be(name) { |obj, *args| obj.did_receive?(name, &b).successful? }
5
- end
6
-
7
- def have_raised_event?(name, &b)
8
- be(name) { |obj, *args| obj.did_raise_event?(name, &b).successful? }
9
- end if defined?(IRONRUBY_VERSION)
10
-
11
- def satisfy(*args, &block)
12
- if args.size == 1 && String === args.first
13
- description = args.shift
14
- else
15
- description = ""
16
- end
17
- r=nil
18
- err = nil
19
- begin
20
- r = block.call(@object, *args)
21
- rescue Caricature::ArgumentMatchError => e
22
- err =e
23
- end
24
- if Bacon::Counter[:depth] > 0
25
- Bacon::Counter[:requirements] += 1
26
- raise (err.is_a?(Caricature::ArgumentMatchError) ? err : Bacon::Error.new(:failed, description)) unless @negated ^ r
27
- r
28
- else
29
- @negated ? !r : !!r
30
- end
31
- end
32
-
33
- end
34
-
35
- module Caricature
36
-
37
- # Describes a verification of a method call.
38
- # This corresponds kind of to an assertion
39
- class Verification
40
-
41
-
42
- # indicate that this method verification is successful
43
- def successful?
44
- a = any_args? ? [:any] : @args
45
- res = @recorder.was_called?(@method_name, @block_args, @mode, *a)
46
- raise Caricature::ArgumentMatchError.new(:failed, self.error) unless res
47
- res
48
- end
49
-
50
-
51
- end
52
- if defined?(IRONRUBY_VERSION)
53
- class EventVerification
54
-
55
- # indicate that this event verification is successful
56
- def successful?
57
- a = any_args? ? [:any] : @args
58
- res = @recorder.event_raised?(@event_name, @mode, *a)
59
- raise Caricature::ArgumentMatchError.new(:failed, self.error) unless res
60
- res
61
- end
62
-
63
- end
64
-
65
- # class ClrInterfaceIsolator
66
- # def
67
- # end
68
- end
69
-
70
- class ArgumentMatchError < Bacon::Error;
71
-
72
- end
73
-
74
- end
75
-
1
+ class Should
2
+
3
+ def have_received?(name, &b)
4
+ be(name) { |obj, *args| obj.did_receive?(name, &b).successful? }
5
+ end
6
+
7
+ def have_raised_event?(name, &b)
8
+ be(name) { |obj, *args| obj.did_raise_event?(name, &b).successful? }
9
+ end if defined?(IRONRUBY_VERSION)
10
+
11
+ def satisfy(*args, &block)
12
+ if args.size == 1 && String === args.first
13
+ description = args.shift
14
+ else
15
+ description = ""
16
+ end
17
+ r=nil
18
+ err = nil
19
+ begin
20
+ r = block.call(@object, *args)
21
+ rescue Caricature::ArgumentMatchError => e
22
+ err =e
23
+ end
24
+ if Bacon::Counter[:depth] > 0
25
+ Bacon::Counter[:requirements] += 1
26
+ raise (err.is_a?(Caricature::ArgumentMatchError) ? err : Bacon::Error.new(:failed, description)) unless @negated ^ r
27
+ r
28
+ else
29
+ @negated ? !r : !!r
30
+ end
31
+ end
32
+
33
+ end
34
+
35
+ module Caricature
36
+
37
+ # Describes a verification of a method call.
38
+ # This corresponds kind of to an assertion
39
+ class Verification
40
+
41
+
42
+ # indicate that this method verification is successful
43
+ def successful?
44
+ a = any_args? ? [:any] : @args
45
+ res = @recorder.was_called?(@method_name, @block_args, @mode, *a)
46
+ raise Caricature::ArgumentMatchError.new(:failed, self.error) unless res
47
+ res
48
+ end
49
+
50
+
51
+ end
52
+ if defined?(IRONRUBY_VERSION)
53
+ class EventVerification
54
+
55
+ # indicate that this event verification is successful
56
+ def successful?
57
+ a = any_args? ? [:any] : @args
58
+ res = @recorder.event_raised?(@event_name, @mode, *a)
59
+ raise Caricature::ArgumentMatchError.new(:failed, self.error) unless res
60
+ res
61
+ end
62
+
63
+ end
64
+
65
+ # class ClrInterfaceIsolator
66
+ # def
67
+ # end
68
+ end
69
+
70
+ class ArgumentMatchError < Bacon::Error;
71
+
72
+ end
73
+
74
+ end
75
+
@@ -1,2 +1,2 @@
1
- require 'caricature/bacon/integration' if defined? Bacon
2
-
1
+ require 'caricature/bacon/integration' if defined? Bacon
2
+