Sha256: 0454a64cd32ac3f824cdc12c74cd4834ed1d6ee04b0f75dabe22ec866b5d143c

Contents?: true

Size: 961 Bytes

Versions: 4

Compression:

Stored size: 961 Bytes

Contents

# frozen_string_literal: true

module GenericTest
  # Represents a web page state at a particular point of time
  class Page
    # @return [Array] List of links
    attr_accessor :links
    # @return [Array] List of emails
    attr_accessor :emails
    attr_accessor :url
    attr_accessor :html
    attr_accessor :text
    attr_accessor :title

    # Store state of page when it is loaded
    # @param [Watir::Browser] browser Watir browser
    def initialize(browser)
      self.emails, self.links = browser.links.partition do |link|
        link.href.start_with?('mailto:')
      end
      links.reject! { |link| link.href.empty? || link.href.start_with?('javascript:') }
      emails.collect! { |link| link.href.split(':').last }
      self.url = browser.url
      self.html = browser.html
      self.text = browser.text
      self.title = browser.title
      puts "Found #{links.count} links, #{emails.count} emails at #{url} (#{title})"
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
generic_test-0.2.1 lib/generic_test/page.rb
generic_test-0.2.0 lib/generic_test/page.rb
generic_test-0.1.13 lib/generic_test/page.rb
generic_test-0.1.12 lib/generic_test/page.rb