Class: Celerity::Link

Inherits:
Element show all
Includes:
ClickableElement
Defined in:
lib/celerity/elements/link.rb,
lib/celerity/watir_compatibility.rb

Constant Summary collapse

TAGS =
[ Identifier.new('a') ]
ATTRIBUTES =
BASE_ATTRIBUTES | [
  :accesskey,
  :charset,
  :coords,
  :href,
  :hreflang,
  :name,
  :onblur,
  :onfocus,
  :rel,
  :rev,
  :shape,
  :tabindex,
  :target,
  :type,
]
DEFAULT_HOW =
:href

Constants inherited from Element

Element::BASE_ATTRIBUTES, Element::CELLHALIGN_ATTRIBUTES, Element::CELLVALIGN_ATTRIBUTES, Element::HTML_401_TRANSITIONAL

Instance Attribute Summary

Attributes inherited from Element

#container

Attributes included from Container

#browser

Instance Method Summary collapse

Methods included from ClickableElement

#click, #click_and_attach, #double_click, #download, #right_click

Methods inherited from Element

#==, #assert_exists, #attribute_string, #attribute_value, #exists?, #fire_event, #focus, #focused?, #initialize, #javascript_object, #locate, #method_missing, #methods, #object, #parent, #respond_to?, #text, #to_s, #to_xml, #visible?, #xpath

Methods included from Container

#area, #areas, #button, #buttons, #cell, #cells, #check_box, #checkboxes, #container=, #contains_text, #dd, #dds, #del, #dels, #div, #divs, #dl, #dls, #dt, #dts, #em, #ems, #file_field, #file_fields, #form, #forms, #frame, #frames, #h1, #h1s, #h2, #h2s, #h3, #h3s, #h4, #h4s, #h5, #h5s, #h6, #h6s, #hidden, #hiddens, #image, #images, #ins, #inses, #inspect, #label, #labels, #li, #link, #links, #lis, #map, #maps, #meta, #metas, #ol, #ols, #option, #p, #pre, #pres, #ps, #radio, #radios, #row, #rows, #select_list, #select_lists, #span, #spans, #strong, #strongs, #table, #tables, #tbodies, #tbody, #text_field, #text_fields, #tfoot, #tfoots, #th, #thead, #theads, #ths, #ul, #uls

Methods included from ShortInspect

#short_inspect

Constructor Details

This class inherits a constructor from Celerity::Element

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Celerity::Element

Instance Method Details

#absolute_urlObject

Returns the absolute URL for this link (Celerity-specific)

(Watir/IE does this for href(), but we don’t want that.)



30
31
32
33
34
35
36
37
38
39
# File 'lib/celerity/elements/link.rb', line 30

def absolute_url
  assert_exists
  href = @object.getAttribute('href')

  unless href.empty? || URI.parse(href).absolute?
    href = URI.join(browser.url, href).to_s
  end

  href
end