Sha256: 8fc02343ba29ff9e91580d4546a5e6ba52bec72bfed72a14fa54a3fae06eb9a7

Contents?: true

Size: 1.15 KB

Versions: 2

Compression:

Stored size: 1.15 KB

Contents

def class_exists?(class_name)
  begin
    klass = Module.const_get(class_name)
    return klass.is_a?(Class)
  rescue NameError
    return false
  end
end

Given /^I am on the Gxt Examples page$/ do
  visit GxtSamplePageObject
end

When /^I have defined a GxtTable class extending Table$/ do
  class GxtTable < PageObject::Elements::Table

    def self.accessor_methods(accessor, name)
      accessor.send :define_method, "#{name}_rows" do
        self.send("#{name}_element").rows
      end
    end
    
    protected
      def child_xpath
        ".//descendant::tr"
      end
  end
end

When /^I define a page-object using that widget$/ do
  class GxtSamplePageObject
    include PageObject

    page_url UrlHelper.widgets

    gxt_table(:gxt_table, :class => "x-grid3")
  end unless class_exists? 'GxtSamplePageObject'
end

When /^I have registered the GxtTable with PageObject$/ do
  PageObject.register_widget :gxt_table, GxtTable, 'div'
end

When /^I retrieve a GxtTable widget$/ do
  @element = on(GxtSamplePageObject).gxt_table_element
end


When /^the GxtTable should have "(\d+)" rows$/ do |rows|
  on(GxtSamplePageObject).gxt_table_rows.should == rows.to_i
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
page-object-1.2.0 features/step_definitions/gxt_table_steps.rb
page-object-1.1.1 features/step_definitions/gxt_table_steps.rb