Sha256: 5d1fcfb40083859940206a4664a35b25081729f5bca4dee8270116a6086e43d8
Contents?: true
Size: 1.19 KB
Versions: 1
Compression:
Stored size: 1.19 KB
Contents
# frozen_string_literal: true module RSpecHTML # HTML DOM element abstraction class Element attr_reader :name, :element extend Forwardable def_delegators :@search, :has_css?, :has_xpath?, :include?, :siblings, :text, :truncated_text, :size, :length, :[], :css, :xpath def initialize(element, name, options: {}, siblings: []) @name = name @element = element @options = options @siblings = siblings @search = Search.new(@element, @siblings) 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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rspec-html-0.2.12 | lib/rspec_html/element.rb |