Module | Spec::Example::ExampleMethods |
In: |
lib/spec/example/example_methods.rb
|
PENDING_EXAMPLE_BLOCK | = | lambda { raise Spec::Example::ExamplePendingError.new("Not Yet Implemented") |
# File lib/spec/example/example_methods.rb, line 69 69: def __full_description 70: "#{self.class.description} #{self.description}" 71: end
# File lib/spec/example/example_methods.rb, line 65 65: def description 66: @_defined_description || @_matcher_description || "NO NAME" 67: end
# File lib/spec/example/example_methods.rb, line 13 13: def execute(options, instance_variables) 14: options.reporter.example_started(self) 15: set_instance_variables_from_hash(instance_variables) 16: 17: execution_error = nil 18: Timeout.timeout(options.timeout) do 19: begin 20: before_example 21: run_with_description_capturing 22: rescue Exception => e 23: execution_error ||= e 24: end 25: begin 26: after_example 27: rescue Exception => e 28: execution_error ||= e 29: end 30: end 31: 32: options.reporter.example_finished(self, execution_error) 33: success = execution_error.nil? || ExamplePendingError === execution_error 34: end
# File lib/spec/example/example_methods.rb, line 91 91: def implementation_backtrace 92: eval("caller", @_implementation) 93: end
# File lib/spec/example/example_methods.rb, line 36 36: def instance_variable_hash 37: instance_variables.inject({}) do |variable_hash, variable_name| 38: variable_hash[variable_name] = instance_variable_get(variable_name) 39: variable_hash 40: end 41: end
# File lib/spec/example/example_methods.rb, line 82 82: def run_with_description_capturing 83: begin 84: return instance_eval(&(@_implementation || PENDING_EXAMPLE_BLOCK)) 85: ensure 86: @_matcher_description = Spec::Matchers.generated_description 87: Spec::Matchers.clear_generated_description 88: end 89: end
# File lib/spec/example/example_methods.rb, line 73 73: def set_instance_variables_from_hash(ivars) 74: ivars.each do |variable_name, value| 75: # Ruby 1.9 requires variable.to_s on the next line 76: unless ['@_implementation', '@_defined_description', '@_matcher_description', '@method_name'].include?(variable_name.to_s) 77: instance_variable_set variable_name, value 78: end 79: end 80: end
# File lib/spec/example/example_methods.rb, line 43 43: def violated(message="") 44: raise Spec::Expectations::ExpectationNotMetError.new(message) 45: end
# File lib/spec/example/example_methods.rb, line 104 104: def after_example 105: self.class.run_after_each(self) 106: verify_mocks_for_rspec 107: ensure 108: teardown_mocks_for_rspec 109: end