Sha256: 35b3926b90427cd02a1ce12724063358981c07fbb57592b49a6b73adf24c7749

Contents?: true

Size: 1.54 KB

Versions: 99

Compression:

Stored size: 1.54 KB

Contents

module Selenium
  module WebDriver

    #
    # Shared across bridges
    #
    # @api private
    #

    module BridgeHelper

      def unwrap_script_result(arg)
        case arg
        when Array
          arg.map { |e| unwrap_script_result(e) }
        when Hash
          if id = element_id_from(arg)
            Element.new self, id
          else
            arg.each { |k, v| arg[k] = unwrap_script_result(v) }
          end
        else
          arg
        end
      end

      def element_id_from(id)
        id['ELEMENT']
      end

      def parse_cookie_string(str)
        result = {
          'name'    => '',
          'value'   => '',
          'domain'  => '',
          'path'    => '',
          'expires' => '',
          'secure'  => false
        }

        str.split(";").each do |attribute|
          if attribute.include? "="
            key, value = attribute.strip.split("=", 2)
            if result['name'].empty?
              result['name']  = key
              result['value'] = value
            elsif key == 'domain' && value.strip =~ /^\.(.+)/
              result['domain'] = $1
            elsif key && value
              result[key] = value
            end
          elsif attribute == "secure"
            result['secure'] = true
          end

          unless [nil, "", "0"].include?(result['expires'])
            # firefox stores expiry as number of seconds
            result['expires'] = Time.at(result['expires'].to_i)
          end
        end

        result
      end

    end # BridgeHelper
  end # WebDriver
end # Selenium

Version data entries

99 entries across 99 versions & 5 rubygems

Version Path
selenium-webdriver-2.45.0 lib/selenium/webdriver/common/bridge_helper.rb
selenium-webdriver-2.45.0.dev3 lib/selenium/webdriver/common/bridge_helper.rb
selenium-webdriver-2.45.0.dev2 lib/selenium/webdriver/common/bridge_helper.rb
selenium-webdriver-2.45.0.dev lib/selenium/webdriver/common/bridge_helper.rb
selenium-webdriver-2.44.0 lib/selenium/webdriver/common/bridge_helper.rb
selenium-webdriver-2.44.0.dev lib/selenium/webdriver/common/bridge_helper.rb
selenium-webdriver-2.43.0 lib/selenium/webdriver/common/bridge_helper.rb
selenium-webdriver-2.42.0 lib/selenium/webdriver/common/bridge_helper.rb
selenium-webdriver-2.41.0 lib/selenium/webdriver/common/bridge_helper.rb
browserstack-webdriver-2.40.1 lib/selenium/webdriver/common/bridge_helper.rb
selenium-webdriver-2.40.0 lib/selenium/webdriver/common/bridge_helper.rb
selenium-webdriver-2.40.0.rc2 lib/selenium/webdriver/common/bridge_helper.rb
selenium-webdriver-2.40.0.rc1 lib/selenium/webdriver/common/bridge_helper.rb
selenium-webdriver-2.39.0 lib/selenium/webdriver/common/bridge_helper.rb
selenium-webdriver-2.38.0 lib/selenium/webdriver/common/bridge_helper.rb
browserstack-webdriver-0.0.22 lib/selenium/webdriver/common/bridge_helper.rb
browserstack-webdriver-0.0.1 lib/selenium/webdriver/common/bridge_helper.rb
selenium-webdriver-2.37.0 lib/selenium/webdriver/common/bridge_helper.rb
selenium-webdriver-2.35.1 lib/selenium/webdriver/common/bridge_helper.rb
selenium-webdriver-2.35.0 lib/selenium/webdriver/common/bridge_helper.rb