A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.rubydoc.info/github/teamcapybara/capybara/Capybara/SpecHelper below:

SpecHelper – Documentation for teamcapybara/capybara (master) – RubyDoc.info

Module: Capybara::SpecHelper
Defined in:
lib/capybara/spec/spec_helper.rb
Class Method Summary collapse Instance Method Summary collapse Class Method Details .configure(config) ⇒ Object
15
16
17
18
19
20
# File 'lib/capybara/spec/spec_helper.rb', line 15

def configure(config)
  config.filter_run_excluding requires: method(:filter).to_proc
  config.before { Capybara::SpecHelper.reset! }
  config.after { Capybara::SpecHelper.reset! }
  config. = :apply_to_host_groups
end
.filter(requires, metadata) ⇒ Object
45
46
47
48
49
50
51
52
53
# File 'lib/capybara/spec/spec_helper.rb', line 45

def filter(requires, metadata)
  if requires && metadata[:capybara_skip]
    requires.any? do |require|
      metadata[:capybara_skip].include?(require)
    end
  else
    false
  end
end
.reset_threadsafe(bool: false, session: nil) ⇒ Object
95
96
97
98
99
100
101
# File 'lib/capybara/spec/spec_helper.rb', line 95

def reset_threadsafe(bool: false, session: nil)
    Capybara::Session.class_variable_set(:@@instance_created, false)   Capybara.threadsafe = bool
  session = session.current_session if session.respond_to?(:current_session)
  session&.instance_variable_set(:@config, nil)
end
.run_specs(session, name, **options, &filter_block) ⇒ Object
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/capybara/spec/spec_helper.rb', line 60

def run_specs(session, name, **options, &filter_block)
  specs = @specs
  RSpec.describe Capybara::Session, name, options do
    include Capybara::SpecHelper
    include Capybara::RSpecMatchers

    before do |example|
      @session = session
      instance_exec(example, &filter_block) if filter_block
    end

    after do
      session.reset_session!
    end

    before :each, :psc do
      SpecHelper.reset_threadsafe(bool: true, session: session)
    end

    after psc: true do
      SpecHelper.reset_threadsafe(session: session)
    end

    before :each, :exact_false do
      Capybara.exact = false
    end

    specs.each do |spec_name, spec_options, block|
      describe spec_name, *spec_options do
        class_eval(&block)
      end
    end
  end
end
.spec(name, *options, &block) ⇒ Object
55
56
57
58
# File 'lib/capybara/spec/spec_helper.rb', line 55

def spec(name, *options, &block)
  @specs ||= []
  @specs << [name, options, block]
end
Instance Method Details #be_an_invalid_element_error(session) ⇒ Object
131
132
133
# File 'lib/capybara/spec/spec_helper.rb', line 131

def be_an_invalid_element_error(session)
  satisfy { |error| session.driver.invalid_element_errors.any? { |e| error.is_a? e } }
end
126
127
128
129
# File 'lib/capybara/spec/spec_helper.rb', line 126

def (session)
  expect(session).to have_xpath("//pre[@id='content_type']")
  Capybara::HTML(session.body).xpath("//pre[@id='content_type']").first.text
end
119
120
121
122
123
124
# File 'lib/capybara/spec/spec_helper.rb', line 119

def (session)
  expect(session).to have_xpath("//pre[@id='results']")
  perms = [(::Sinatra::IndifferentHash if defined? ::Sinatra::IndifferentHash)].compact
  results = Capybara::HTML(session.body).xpath("//pre[@id='results']").first.inner_html.lstrip
  YAML.safe_load results, permitted_classes: perms
end
#quietly(&block) ⇒ Object
113
114
115
116
117
# File 'lib/capybara/spec/spec_helper.rb', line 113

def quietly(&block)
  silence_stream($stdout) do
    silence_stream($stderr, &block)
  end
end
#silence_stream(stream) ⇒ Object
104
105
106
107
108
109
110
111
# File 'lib/capybara/spec/spec_helper.rb', line 104

def silence_stream(stream)
  old_stream = stream.dup
  stream.reopen(RbConfig::CONFIG['host_os'].match?(/rmswin|mingw/) ? 'NUL:' : '/dev/null')
  stream.sync = true
  yield
ensure
  stream.reopen(old_stream)
end
#with_os_path_separators(path) ⇒ Object
135
136
137
# File 'lib/capybara/spec/spec_helper.rb', line 135

def with_os_path_separators(path)
  Gem.win_platform? ? path.to_s.tr('/', '\\') : path.to_s
end

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4