Sha256: d42633368b686c43beca0ffe86a93d4b06350bd66c45f9e294b5d3d85a315beb
Contents?: true
Size: 1.31 KB
Versions: 2
Compression:
Stored size: 1.31 KB
Contents
# frozen_string_literal: true module RSpecHTML # HTML DOM element abstraction class Element attr_reader :name, :element, :search extend Forwardable def_delegators :@search, :has_css?, :has_xpath?, :include?, :all, :siblings, :text, :truncated_text, :attributes, :to_a, :size, :length, :[], :css, :xpath, :checked?, :first, :last, :second, :third, :fourth, :fifth def initialize(element, name, options: {}, siblings: []) @name = name @element = element @options = options @siblings = siblings || [] @search = Search.new(@element, @siblings, self) end def present? return true if name == :document @search.present? end alias exist? present? def inspect reconstituted end def to_s @element.to_s end Tags.each do |tag| define_method tag.downcase do |*args| options = args.first return @search.new_from_find(tag.downcase, options) if options.nil? @search.new_from_where(tag.downcase, options) end end def reconstituted self.class.reconstituted(name, @options) end def self.reconstituted(tag, options = {}) ReconstitutedElement.new(tag, options).to_s end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rspec-html-0.3.0 | lib/rspec_html/element.rb |
rspec-html-0.2.20 | lib/rspec_html/element.rb |