Module: Web::Unit

Includes:
WebUnit, WebUnit::Utils
Defined in:
lib/web/unit.rb

Constant Summary

Constants included from WebUnit

WebUnit::AVAILABLE_FRAMEWORKS, WebUnit::AVAILABLE_XMLPARSERS, WebUnit::BOUNDARY, WebUnit::USING_XMLPARSER

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from WebUnit::Utils

#complete_url, #orthop_url, #parse_url

Methods included from WebUnit

#assert_attrs, #assert_include, #assert_input, #assert_select_option, #assert_urls, dispatch, runtest

Instance Attribute Details

#responseObject (readonly)

Returns the value of attribute response.



8
9
10
# File 'lib/web/unit.rb', line 8

def response
  @response
end

Instance Method Details

#assert_title(expected, document = @response) ⇒ Object



52
53
54
# File 'lib/web/unit.rb', line 52

def assert_title( expected, document=@response )
  assert_equal( expected, document.title )
end

#do_request(url, params = {}) ⇒ Object



35
36
37
38
39
40
# File 'lib/web/unit.rb', line 35

def do_request( url, params={} )
  reverse_update_cookies
  url = @urlbase + url unless (url.index(@urlbase) == 0)
  @response = Response::get( url )
  update_cookies
end

#do_submit(params = {}) ⇒ Object



42
43
44
45
46
47
48
49
50
# File 'lib/web/unit.rb', line 42

def do_submit( params={} )
  reverse_update_cookies
  form = @response.form
  params.each do |k,v|
    form.params[k].value = v
  end
  @response = form.submit
  update_cookies
end

#reverse_update_cookiesObject



28
29
30
31
32
33
# File 'lib/web/unit.rb', line 28

def reverse_update_cookies
  Cookies::clear
  Web::cookie.each do |k,v|
    Cookies::add( k, v )
  end
end

#setup_webunitObject



10
11
12
13
14
15
16
17
18
19
# File 'lib/web/unit.rb', line 10

def setup_webunit
  @urlbase = ENV['URLBASE'] ? ENV['URLBASE'] : 'http://localhost/'
  @urlbase = orthop_url( @urlbase )
  @urlbase << '/' unless @urlbase =~ %r!/$!
  $stderr.puts "URLBASE is #{@urlbase}" if $DEBUG
  $URLBASE = @urlbase
  WebUnit::Response::reset
  @cookies_kept = WebUnit::Cookies::instance.cookies
  Web::cookie::clear
end

#update_cookiesObject



21
22
23
24
25
26
# File 'lib/web/unit.rb', line 21

def update_cookies
  Web::cookie = Hash.new
   Cookies.instance.cookies.each do |k, v|
     Web::cookie[k.first] = v['value']
   end
end