rspec 0.6.4 → 0.7.0

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 (114) hide show
  1. data/CHANGES +90 -1
  2. data/EXAMPLES.rd +28 -6
  3. data/MIT-LICENSE +20 -0
  4. data/README +18 -12
  5. data/Rakefile +60 -54
  6. data/examples/custom_formatter.rb +4 -4
  7. data/examples/helper_method_example.rb +11 -0
  8. data/examples/mocking_example.rb +19 -2
  9. data/examples/partial_mock_example.rb +28 -0
  10. data/examples/stack_spec.rb +8 -8
  11. data/examples/stubbing_example.rb +50 -9
  12. data/examples/test_case_spec.rb +6 -6
  13. data/lib/spec.rb +1 -2
  14. data/lib/spec/callback.rb +0 -0
  15. data/lib/spec/expectations.rb +3 -6
  16. data/lib/spec/expectations/diff.rb +23 -47
  17. data/lib/spec/expectations/differs/default.rb +62 -0
  18. data/lib/spec/expectations/{exceptions.rb → errors.rb} +0 -0
  19. data/lib/spec/expectations/extensions.rb +4 -0
  20. data/lib/spec/expectations/extensions/inspect_for_expectation_not_met_error.rb +14 -0
  21. data/lib/spec/expectations/extensions/numeric.rb +5 -0
  22. data/lib/spec/expectations/{expectations.rb → extensions/object.rb} +3 -6
  23. data/lib/spec/expectations/extensions/symbol.rb +5 -0
  24. data/lib/spec/expectations/should.rb +4 -0
  25. data/lib/spec/expectations/should/base.rb +42 -0
  26. data/lib/spec/expectations/should/have.rb +79 -0
  27. data/lib/spec/expectations/should/not.rb +72 -0
  28. data/lib/spec/expectations/should/should.rb +83 -0
  29. data/lib/spec/expectations/sugar.rb +6 -25
  30. data/lib/spec/mocks.rb +5 -1
  31. data/lib/spec/mocks/argument_expectation.rb +15 -1
  32. data/lib/spec/mocks/error_generator.rb +72 -0
  33. data/lib/spec/mocks/{exceptions.rb → errors.rb} +0 -0
  34. data/lib/spec/mocks/extensions/object.rb +3 -0
  35. data/lib/spec/mocks/message_expectation.rb +80 -73
  36. data/lib/spec/mocks/mock.rb +4 -69
  37. data/lib/spec/mocks/mock_handler.rb +158 -0
  38. data/lib/spec/mocks/mock_methods.rb +44 -0
  39. data/lib/spec/mocks/order_group.rb +10 -2
  40. data/lib/spec/rake/spectask.rb +20 -18
  41. data/lib/spec/rake/{rcov_verify.rb → verify_rcov.rb} +2 -2
  42. data/lib/spec/runner.rb +3 -1
  43. data/lib/spec/runner/backtrace_tweaker.rb +2 -1
  44. data/lib/spec/runner/context.rb +10 -16
  45. data/lib/spec/runner/context_eval.rb +40 -40
  46. data/lib/spec/runner/execution_context.rb +1 -12
  47. data/lib/spec/runner/{kernel_ext.rb → extensions/kernel.rb} +2 -2
  48. data/lib/spec/runner/{instance_exec.rb → extensions/object.rb} +0 -0
  49. data/lib/spec/runner/formatter/base_text_formatter.rb +25 -18
  50. data/lib/spec/runner/formatter/html_formatter.rb +81 -101
  51. data/lib/spec/runner/formatter/progress_bar_formatter.rb +9 -9
  52. data/lib/spec/runner/formatter/rdoc_formatter.rb +6 -6
  53. data/lib/spec/runner/formatter/specdoc_formatter.rb +7 -6
  54. data/lib/spec/runner/option_parser.rb +41 -5
  55. data/lib/spec/runner/reporter.rb +3 -15
  56. data/lib/spec/runner/spec_should_raise_handler.rb +74 -0
  57. data/lib/spec/runner/specification.rb +33 -14
  58. data/lib/spec/version.rb +6 -3
  59. data/vendor/watir/README.txt +1 -1
  60. metadata +34 -68
  61. data/bin/test2spec +0 -112
  62. data/examples/helper_method_spec.rb +0 -12
  63. data/lib/spec/expectations/have_helper.rb +0 -41
  64. data/lib/spec/expectations/helper.rb +0 -4
  65. data/lib/spec/expectations/should_base.rb +0 -52
  66. data/lib/spec/expectations/should_helper.rb +0 -93
  67. data/lib/spec/expectations/should_negator.rb +0 -71
  68. data/lib/spec/test_to_spec/ruby2ruby.rb +0 -492
  69. data/lib/spec/test_to_spec/sexp_transformer.rb +0 -196
  70. data/lib/spec/test_to_spec/test_case_ext.rb +0 -22
  71. data/lib/spec/test_to_spec/translation_test_runner.rb +0 -147
  72. data/test/spec/expectations/arbitrary_operator_test.rb +0 -55
  73. data/test/spec/expectations/arbitrary_predicate_test.rb +0 -163
  74. data/test/spec/expectations/containment_test.rb +0 -129
  75. data/test/spec/expectations/diff_test.rb +0 -62
  76. data/test/spec/expectations/identity_test.rb +0 -75
  77. data/test/spec/expectations/object_equality_test.rb +0 -65
  78. data/test/spec/expectations/raising_test.rb +0 -106
  79. data/test/spec/expectations/regex_matching_test.rb +0 -36
  80. data/test/spec/expectations/should_have_test.rb +0 -169
  81. data/test/spec/expectations/should_satisfy_test.rb +0 -37
  82. data/test/spec/expectations/sugar_test.rb +0 -93
  83. data/test/spec/expectations/supported_symbols_test.rb +0 -33
  84. data/test/spec/expectations/throwing_test.rb +0 -55
  85. data/test/spec/expectations/true_false_special_case_test.rb +0 -85
  86. data/test/spec/expectations/typing_test.rb +0 -108
  87. data/test/spec/mocks/mock_arg_constraints_test.rb +0 -113
  88. data/test/spec/mocks/mock_counts_test.rb +0 -431
  89. data/test/spec/mocks/mock_ordering_test.rb +0 -109
  90. data/test/spec/mocks/mock_test.rb +0 -220
  91. data/test/spec/mocks/null_object_test.rb +0 -37
  92. data/test/spec/runner/backtrace_tweaker_test.rb +0 -90
  93. data/test/spec/runner/context_matching_test.rb +0 -35
  94. data/test/spec/runner/context_runner_test.rb +0 -62
  95. data/test/spec/runner/context_test.rb +0 -191
  96. data/test/spec/runner/execution_context_test.rb +0 -45
  97. data/test/spec/runner/formatter/failure_dump_test.rb +0 -94
  98. data/test/spec/runner/formatter/html_formatter_test.rb +0 -48
  99. data/test/spec/runner/formatter/progress_bar_formatter_test.rb +0 -56
  100. data/test/spec/runner/formatter/rdoc_formatter_test.rb +0 -51
  101. data/test/spec/runner/formatter/specdoc_formatter_test.rb +0 -57
  102. data/test/spec/runner/kernel_ext_test.rb +0 -13
  103. data/test/spec/runner/option_parser_test.rb +0 -141
  104. data/test/spec/runner/reporter_test.rb +0 -128
  105. data/test/spec/runner/spec_matcher_test.rb +0 -47
  106. data/test/spec/runner/specification_test.rb +0 -121
  107. data/test/spec/test_to_spec/ruby_to_ruby_test.rb +0 -79
  108. data/test/spec/test_to_spec/sexp_transformer_assertion_test.rb +0 -207
  109. data/test/spec/test_to_spec/sexp_transformer_test.rb +0 -303
  110. data/test/spec/test_to_spec/test_case_ext_test.rb +0 -25
  111. data/test/spec/test_to_spec/testfiles/test_unit_api_spec.rb +0 -75
  112. data/test/spec/test_to_spec/testfiles/test_unit_api_test.rb +0 -70
  113. data/test/test_classes.rb +0 -102
  114. data/test/test_helper.rb +0 -32
@@ -1,80 +1,15 @@
1
1
  module Spec
2
2
  module Mocks
3
- module MockInstanceMethods
3
+ class Mock
4
+ include MockMethods
5
+
4
6
  # Creates a new mock with a +name+ (that will be used in error messages only)
5
7
  # Options:
6
8
  # * <tt>:null_object</tt> - if true, the mock object acts as a forgiving null object allowing any message to be sent to it.
7
9
  def initialize(name, options={})
8
10
  @name = name
9
- @options = DEFAULT_OPTIONS.dup.merge(options)
10
- @expectations = []
11
- @expectation_ordering = OrderGroup.new
12
- end
13
-
14
- def should_receive(sym, &block)
15
- add MessageExpectation, caller(1)[0], sym, &block
16
- end
17
-
18
- def should_not_receive(sym, &block)
19
- add NegativeMessageExpectation, caller(1)[0], sym, &block
20
- end
21
-
22
- def __verify #:nodoc:
23
- @expectations.each do |expectation|
24
- expectation.verify_messages_received
25
- end
26
- end
27
-
28
- def method_missing(sym, *args, &block)
29
- begin
30
- return self if @options[:null_object]
31
- super(sym, *args, &block)
32
- rescue NoMethodError
33
- arg_message = args.collect{|arg| "<#{arg}:#{arg.class.name}>"}.join(", ")
34
- Kernel::raise Spec::Mocks::MockExpectationError, "Mock '#{@name}' received unexpected message '#{sym}' with [#{arg_message}]"
35
- end
36
- end
37
-
38
- private
39
-
40
- DEFAULT_OPTIONS = {
41
- :null_object => false
42
- }
43
-
44
- def add(expectation_class, expected_from, sym, &block)
45
- define_expected_method(sym)
46
- expectation = expectation_class.send(:new, @name, @expectation_ordering, expected_from, sym, block_given? ? block : nil)
47
- @expectations << expectation
48
- expectation
49
- end
50
-
51
- def metaclass
52
- class << self; self; end
53
- end
54
-
55
- def define_expected_method(sym)
56
- metaclass.__send__ :class_eval, %{
57
- def #{sym}(*args, &block)
58
- message_received :#{sym}, *args, &block # ?
59
- end
60
- }
11
+ @options = options
61
12
  end
62
-
63
- def message_received(sym, *args, &block)
64
- if expectation = find_matching_expectation(sym, *args)
65
- expectation.invoke(args, block)
66
- else
67
- method_missing(sym, *args, &block)
68
- end
69
- end
70
-
71
- def find_matching_expectation(sym, *args)
72
- expectation = @expectations.find {|expectation| expectation.matches(sym, args)}
73
- end
74
- end
75
-
76
- class Mock
77
- include MockInstanceMethods
78
13
  end
79
14
  end
80
15
  end
@@ -0,0 +1,158 @@
1
+ module Spec
2
+ module Mocks
3
+ class MockHandler
4
+ def initialize(target, name, options={})
5
+ @target = target
6
+ @name = name
7
+ @error_generator = ErrorGenerator.new target, name
8
+ @expectation_ordering = OrderGroup.new @error_generator
9
+ @expectations = []
10
+ @messages_received = []
11
+ @stubs = []
12
+ @proxied_methods = []
13
+ @options = options ? DEFAULT_OPTIONS.dup.merge(options) : DEFAULT_OPTIONS
14
+ end
15
+
16
+ DEFAULT_OPTIONS = {
17
+ :null_object => false,
18
+ :auto_verify => true
19
+ }
20
+
21
+ def null_object?
22
+ @options[:null_object]
23
+ end
24
+
25
+ def add_message_expectation(expected_from, sym, opts={}, &block)
26
+ __add expected_from, sym, block
27
+ @expectations << MessageExpectation.new(@error_generator, @expectation_ordering, expected_from, sym, block_given? ? block : nil, 1, opts)
28
+ @expectations.last
29
+ end
30
+
31
+ def add_negative_message_expectation(expected_from, sym, &block)
32
+ __add expected_from, sym, block
33
+ @expectations << NegativeMessageExpectation.new(@error_generator, @expectation_ordering, expected_from, sym, block_given? ? block : nil)
34
+ @expectations.last
35
+ end
36
+
37
+ def add_stub(expected_from, sym)
38
+ __add expected_from, sym, nil
39
+ @stubs << MethodStub.new(@error_generator, @expectation_ordering, expected_from, sym, nil)
40
+ @stubs.last
41
+ end
42
+
43
+ def __add expected_from, sym, block
44
+ Runner::Specification.add_listener(self) if @options[:auto_verify]
45
+ define_expected_method(sym)
46
+ end
47
+
48
+ def spec_finished spec
49
+ verify
50
+ end
51
+
52
+ def define_expected_method(sym)
53
+ if @target.respond_to? sym
54
+ metaclass_eval %-
55
+ alias_method :#{__pre_proxied_method_name(sym)}, :#{sym}
56
+ -
57
+ @proxied_methods << sym
58
+ end
59
+
60
+ metaclass_eval %-
61
+ def #{sym}(*args, &block)
62
+ __mock_handler.message_received :#{sym}, *args, &block
63
+ end
64
+ -
65
+ end
66
+
67
+ def __pre_proxied_method_name method_name
68
+ "original_#{method_name.to_s.delete('!').delete('[').delete('\]')}_before_proxy"
69
+ end
70
+
71
+ def verify #:nodoc:
72
+ begin
73
+ verify_expectations
74
+ ensure
75
+ reset
76
+ end
77
+ end
78
+
79
+ def reset
80
+ clear_expectations
81
+ clear_stubs
82
+ reset_proxied_methods
83
+ clear_proxied_methods
84
+ end
85
+
86
+ def verify_expectations
87
+ @expectations.each do |expectation|
88
+ expectation.verify_messages_received
89
+ end
90
+ end
91
+
92
+ def reset_proxied_methods
93
+ @proxied_methods.each do |method_name|
94
+ if @target.respond_to? __pre_proxied_method_name(method_name)
95
+ metaclass_eval %-
96
+ alias_method :#{method_name}, :#{__pre_proxied_method_name(method_name)}
97
+ remove_method :#{__pre_proxied_method_name(method_name)}
98
+ -
99
+ end
100
+ end
101
+ end
102
+
103
+ def clear_expectations #:nodoc:
104
+ @expectations.clear
105
+ end
106
+
107
+ def clear_stubs #:nodoc:
108
+ @stubs.clear
109
+ end
110
+
111
+ def clear_proxied_methods #:nodoc:
112
+ @proxied_methods.clear
113
+ end
114
+
115
+ def metaclass_eval str
116
+ (class << @target; self; end).class_eval str
117
+ end
118
+
119
+ def received_message?(sym, *args, &block)
120
+ return true if @messages_received.find {|array| array == [sym, args, block]}
121
+ return false
122
+ end
123
+
124
+ def find_matching_expectation(sym, *args)
125
+ @expectations.find {|expectation| expectation.matches(sym, args)}
126
+ end
127
+
128
+ def find_almost_matching_expectation(sym, *args)
129
+ @expectations.find {|expectation| expectation.matches_name_but_not_args(sym, args)}
130
+ end
131
+
132
+ def find_matching_method_stub(sym)
133
+ @stubs.find {|stub| stub.matches(sym, [])}
134
+ end
135
+
136
+ def has_negative_expectation?(sym)
137
+ @expectations.detect {|expectation| expectation.negative_expectation_for?(sym)}
138
+ end
139
+
140
+ def message_received(sym, *args, &block)
141
+ if expectation = find_matching_expectation(sym, *args)
142
+ expectation.invoke(args, block)
143
+ elsif stub = find_matching_method_stub(sym)
144
+ stub.invoke([], nil)
145
+ elsif expectation = find_almost_matching_expectation(sym, *args)
146
+ raise_unexpected_message_error(sym, *args) unless has_negative_expectation?(sym) unless null_object?
147
+ else
148
+ @target.send :method_missing, sym, *args, &block
149
+ end
150
+ end
151
+
152
+ def raise_unexpected_message_error sym, *args
153
+ @error_generator.raise_unexpected_message_error sym, *args
154
+ end
155
+
156
+ end
157
+ end
158
+ end
@@ -0,0 +1,44 @@
1
+ module Spec
2
+ module Mocks
3
+ module MockMethods
4
+ def should_receive(sym, opts={}, &block)
5
+ __mock_handler.add_message_expectation(opts[:expected_from] || caller(1)[0], sym, opts, &block)
6
+ end
7
+
8
+ def should_not_receive(sym, &block)
9
+ __mock_handler.add_negative_message_expectation(caller(1)[0], sym, &block)
10
+ end
11
+
12
+ def stub!(sym)
13
+ __mock_handler.add_stub caller(1)[0], sym
14
+ end
15
+
16
+ def received_message?(sym, *args, &block)
17
+ __mock_handler.received_message?(sym, *args, &block)
18
+ end
19
+
20
+ def __verify
21
+ __mock_handler.verify
22
+ end
23
+
24
+ def __reset_mock
25
+ __mock_handler.reset
26
+ end
27
+
28
+ def method_missing(sym, *args, &block)
29
+ __mock_handler.instance_eval {@messages_received << [sym, args, block]}
30
+ begin
31
+ return self if __mock_handler.null_object?
32
+ super(sym, *args, &block)
33
+ rescue NoMethodError
34
+ __mock_handler.raise_unexpected_message_error sym, *args
35
+ end
36
+ end
37
+
38
+ private
39
+ def __mock_handler
40
+ @mock_handler ||= MockHandler.new(self, @name, @options)
41
+ end
42
+ end
43
+ end
44
+ end
@@ -1,7 +1,8 @@
1
1
  module Spec
2
2
  module Mocks
3
3
  class OrderGroup
4
- def initialize
4
+ def initialize error_generator
5
+ @error_generator = error_generator
5
6
  @ordering = Array.new
6
7
  end
7
8
 
@@ -13,9 +14,16 @@ module Spec
13
14
  return @ordering.first == expectation
14
15
  end
15
16
 
16
- def consume(expectation)
17
+ def consume
17
18
  @ordering.shift
18
19
  end
20
+
21
+ def handle_order_constraint expectation
22
+ return unless @ordering.include? expectation
23
+ return consume if ready_for?(expectation)
24
+ @error_generator.raise_out_of_order_error expectation.sym
25
+ end
26
+
19
27
  end
20
28
  end
21
29
  end
@@ -93,7 +93,6 @@ module Spec
93
93
  end
94
94
 
95
95
  def define
96
- #raise "No spec files found." if file_list.empty?
97
96
  spec_script = File.expand_path(File.dirname(__FILE__) + '/../../../bin/spec')
98
97
 
99
98
  lib_path = @libs.join(File::PATH_SEPARATOR)
@@ -109,23 +108,26 @@ module Spec
109
108
  ruby_opts.push( "-w" ) if @warning
110
109
 
111
110
  redirect = @out.nil? ? "" : " > #{@out}"
112
- # ruby [ruby_opts] -Ilib -S rcov [rcov_opts] bin/spec -- [spec_opts] examples
113
- # or
114
- # ruby [ruby_opts] -Ilib bin/spec [spec_opts] examples
115
- begin
116
- ruby(
117
- ruby_opts.join(" ") + " " +
118
- rcov_option_list +
119
- (@rcov ? %[ -o "#{@rcov_dir}" ] : "") +
120
- '"' + spec_script + '"' + " " +
121
- (@rcov ? "-- " : "") +
122
- spec_option_list + " " +
123
- file_list.collect { |fn| %["#{fn}"] }.join(' ') + " " +
124
- redirect
125
- )
126
- rescue => e
127
- puts @failure_message if @failure_message
128
- raise e if @fail_on_error
111
+
112
+ unless file_list.empty?
113
+ # ruby [ruby_opts] -Ilib -S rcov [rcov_opts] bin/spec -- [spec_opts] examples
114
+ # or
115
+ # ruby [ruby_opts] -Ilib bin/spec [spec_opts] examples
116
+ begin
117
+ ruby(
118
+ ruby_opts.join(" ") + " " +
119
+ rcov_option_list +
120
+ (@rcov ? %[ -o "#{@rcov_dir}" ] : "") +
121
+ '"' + spec_script + '"' + " " +
122
+ (@rcov ? "-- " : "") +
123
+ file_list.collect { |fn| %["#{fn}"] }.join(' ') + " " +
124
+ spec_option_list + " " +
125
+ redirect
126
+ )
127
+ rescue => e
128
+ puts @failure_message if @failure_message
129
+ raise e if @fail_on_error
130
+ end
129
131
  end
130
132
  end
131
133
  end
@@ -3,7 +3,7 @@ module RCov
3
3
  # drop below a certain threshold. It should be run after
4
4
  # running Spec::Rake::SpecTask.
5
5
  class VerifyTask < Rake::TaskLib
6
- # Name of the task. Defaults to :rcov_verify
6
+ # Name of the task. Defaults to :verify_rcov
7
7
  attr_accessor :name
8
8
 
9
9
  # Path to the index.html file generated by RCov, which
@@ -19,7 +19,7 @@ module RCov
19
19
  # exception.
20
20
  attr_accessor :threshold
21
21
 
22
- def initialize(name=:rcov_verify)
22
+ def initialize(name=:verify_rcov)
23
23
  @name = name
24
24
  @index_html = 'coverage/index.html'
25
25
  @verbose = true
@@ -1,5 +1,4 @@
1
1
  require 'spec/runner/formatter'
2
- require 'spec/runner/instance_exec'
3
2
  require 'spec/runner/context'
4
3
  require 'spec/runner/context_eval'
5
4
  require 'spec/runner/specification'
@@ -9,3 +8,6 @@ require 'spec/runner/option_parser'
9
8
  require 'spec/runner/backtrace_tweaker'
10
9
  require 'spec/runner/reporter'
11
10
  require 'spec/runner/spec_matcher'
11
+ require 'spec/runner/extensions/kernel'
12
+ require 'spec/runner/extensions/object'
13
+ require 'spec/runner/spec_should_raise_handler'
@@ -7,7 +7,6 @@ module Spec
7
7
  end
8
8
  end
9
9
 
10
- # Tweaks raised Exceptions to mask noisy (unneeded) parts of the backtrace
11
10
  class NoisyBacktraceTweaker < BacktraceTweaker
12
11
  def tweak_backtrace(error, spec_name)
13
12
  return if error.backtrace.nil?
@@ -26,11 +25,13 @@ module Spec
26
25
  line = tweak_instance_exec_line line, spec_name
27
26
  line = nil if line =~ /\/lib\/ruby\//
28
27
  line = nil if line =~ /\/lib\/spec\/expectations\//
28
+ line = nil if line =~ /\/lib\/spec\/method_proxy\//
29
29
  line = nil if line =~ /\/lib\/spec\/mocks\//
30
30
  line = nil if line =~ /\/lib\/spec\/rake\//
31
31
  line = nil if line =~ /\/lib\/spec\/runner\//
32
32
  line = nil if line =~ /\/lib\/spec\/stubs\//
33
33
  line = nil if line =~ /bin\/spec:/
34
+ line = nil if line =~ /bin\/rcov:/
34
35
  line = nil if line =~ /lib\/rspec_on_rails/
35
36
  line = nil if line =~ /script\/rails_spec/
36
37
  # TextMate's Ruby plugin
@@ -1,11 +1,13 @@
1
1
  module Spec
2
2
  module Runner
3
+ class ContextEvalModule < Module
4
+ end
3
5
  class Context
4
6
  module InstanceMethods
5
7
  def initialize(name, &context_block)
6
8
  @name = name
7
9
 
8
- @context_eval_module = Module.new
10
+ @context_eval_module = ContextEvalModule.new
9
11
  @context_eval_module.extend ContextEval::ModuleMethods
10
12
  @context_eval_module.include ContextEval::InstanceMethods
11
13
  before_context_eval
@@ -31,8 +33,8 @@ module Spec
31
33
  @context_eval_module.teardown(&block)
32
34
  end
33
35
 
34
- def specify(spec_name, &block)
35
- @context_eval_module.specify(spec_name, &block)
36
+ def specify(spec_name, opts={}, &block)
37
+ @context_eval_module.specify(spec_name, opts, &block)
36
38
  end
37
39
 
38
40
  def run(reporter, dry_run=false)
@@ -40,10 +42,13 @@ module Spec
40
42
 
41
43
  prepare_execution_context_class
42
44
  specifications.each do |specification|
43
- execution_context = execution_context_class.new(specification)
44
- specification.run(reporter, setup_block, teardown_block, dry_run, execution_context)
45
+ specification.run(reporter, setup_block, teardown_block, dry_run, execution_context(specification))
45
46
  end
46
47
  end
48
+
49
+ def execution_context specification
50
+ execution_context_class.new(specification)
51
+ end
47
52
 
48
53
  def number_of_specs
49
54
  specifications.length
@@ -89,14 +94,6 @@ module Spec
89
94
  @context_eval_module.send :teardown_block
90
95
  end
91
96
 
92
- def setup_parts
93
- @context_eval_module.send :setup_parts
94
- end
95
-
96
- def teardown_parts
97
- @context_eval_module.send :teardown_parts
98
- end
99
-
100
97
  def prepare_execution_context_class
101
98
  weave_in_context_modules
102
99
  execution_context_class
@@ -121,9 +118,6 @@ module Spec
121
118
  @context_eval_module.send :execution_context_class
122
119
  end
123
120
 
124
- def context_superclass
125
- @context_eval_module.send :context_superclass
126
- end
127
121
  end
128
122
  include InstanceMethods
129
123
  end