mirror of
https://github.com/TracksApp/tracks.git
synced 2025-12-21 01:30:12 +01:00
Added Rspec and Webrat plugins and started porting Selenium on Rails tests to Rspec Plain Text Stories driving Webrat driving Selenium.
This commit is contained in:
parent
0600756bbf
commit
0f7d6f7a1d
602 changed files with 47788 additions and 29 deletions
60
vendor/plugins/rspec/lib/spec/expectations/handler.rb
vendored
Normal file
60
vendor/plugins/rspec/lib/spec/expectations/handler.rb
vendored
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
module Spec
|
||||
module Expectations
|
||||
class InvalidMatcherError < ArgumentError; end
|
||||
|
||||
module MatcherHandlerHelper
|
||||
def describe_matcher(matcher)
|
||||
matcher.respond_to?(:description) ? matcher.description : "[#{matcher.class.name} does not provide a description]"
|
||||
end
|
||||
end
|
||||
|
||||
class ExpectationMatcherHandler
|
||||
class << self
|
||||
include MatcherHandlerHelper
|
||||
def handle_matcher(actual, matcher, &block)
|
||||
if :use_operator_matcher == matcher
|
||||
return Spec::Matchers::PositiveOperatorMatcher.new(actual)
|
||||
end
|
||||
|
||||
unless matcher.respond_to?(:matches?)
|
||||
raise InvalidMatcherError, "Expected a matcher, got #{matcher.inspect}."
|
||||
end
|
||||
|
||||
match = matcher.matches?(actual, &block)
|
||||
::Spec::Matchers.generated_description = "should #{describe_matcher(matcher)}"
|
||||
Spec::Expectations.fail_with(matcher.failure_message) unless match
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
class NegativeExpectationMatcherHandler
|
||||
class << self
|
||||
include MatcherHandlerHelper
|
||||
def handle_matcher(actual, matcher, &block)
|
||||
if :use_operator_matcher == matcher
|
||||
return Spec::Matchers::NegativeOperatorMatcher.new(actual)
|
||||
end
|
||||
|
||||
unless matcher.respond_to?(:matches?)
|
||||
raise InvalidMatcherError, "Expected a matcher, got #{matcher.inspect}."
|
||||
end
|
||||
|
||||
unless matcher.respond_to?(:negative_failure_message)
|
||||
Spec::Expectations.fail_with(
|
||||
<<-EOF
|
||||
Matcher does not support should_not.
|
||||
See Spec::Matchers for more information
|
||||
about matchers.
|
||||
EOF
|
||||
)
|
||||
end
|
||||
match = matcher.matches?(actual, &block)
|
||||
::Spec::Matchers.generated_description = "should not #{describe_matcher(matcher)}"
|
||||
Spec::Expectations.fail_with(matcher.negative_failure_message) if match
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue