D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
td-agent
/
embedded
/
lib
/
ruby
/
gems
/
2.1.0
/
gems
/
draper-1.4.0
/
spec
/
support
/
matchers
/
Filename :
have_text.rb
back
Copy
require 'capybara' module HaveTextMatcher def have_text(text) HaveText.new(text) end class HaveText def initialize(text) @text = text end def in(css) @css = css self end def matches?(subject) @subject = Capybara.string(subject) @subject.has_css?(@css || "*", text: @text) end def failure_message_for_should "expected to find #{@text.inspect} #{within}" end def failure_message_for_should_not "expected not to find #{@text.inspect} #{within}" end private def within if @css && @subject.has_css?(@css) "within\n#{@subject.find(@css).native}" else "#{inside} within\n#{@subject.native}" end end def inside @css ? "inside #{@css.inspect}" : "anywhere" end end end RSpec.configure do |config| config.include HaveTextMatcher end