Sha256: b1c49da1be5e7c510aeeab513481b671a1eca61b11e1a1567d7743517d6a9ab2

Contents?: true

Size: 1.27 KB

Versions: 8

Compression:

Stored size: 1.27 KB

Contents

# encoding: utf-8
module Watir

  #
  # Class representing button elements.
  #
  # This class covers both <button> and <input type="submit|reset|image|button" /> elements.
  #

  class Button < HTMLElement

    # add the attributes from <input>
    attributes Watir::Input.typed_attributes

    VALID_TYPES = %w[button reset submit image]

    #
    # Returns the text of the button.
    #
    # For input elements, returns the "value" attribute.
    # For button elements, returns the inner text.
    #
    # @return [String]
    #

    def text
      assert_exists

      tn = @element.tag_name.downcase

      case tn
      when 'input'
        @element.attribute(:value)
      when 'button'
        @element.text
      else
        raise Exception::Error, "unknown tag name for button: #{tn}"
      end
    end

    #
    # Returns true if this element is enabled.
    #
    # @return [Boolean]
    #

    def enabled?
      !disabled?
    end

    private

    def locate
      @parent.assert_exists
      ButtonLocator.new(@parent.wd, @selector, self.class.attribute_list).locate
    end

  end # Button

  class ButtonCollection < ElementCollection
    private

    def locator_class
      ButtonLocator
    end

    def element_class
      Button
    end
  end # ButtonsCollection
end # Watir

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
watir-webdriver-0.6.9 lib/watir-webdriver/elements/button.rb
watir-webdriver-0.6.8 lib/watir-webdriver/elements/button.rb
watir-webdriver-0.6.7 lib/watir-webdriver/elements/button.rb
watir-webdriver-0.6.6 lib/watir-webdriver/elements/button.rb
watir-webdriver-0.6.5 lib/watir-webdriver/elements/button.rb
watir-webdriver-0.6.4 lib/watir-webdriver/elements/button.rb
watir-webdriver-0.6.3 lib/watir-webdriver/elements/button.rb
watir-webdriver-0.6.2 lib/watir-webdriver/elements/button.rb