page-object 0.5.1 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.rvmrc +1 -1
- data/ChangeLog +9 -1
- data/features/button.feature +13 -1
- data/features/element.feature +6 -0
- data/features/html/images/submit.gif +0 -0
- data/features/html/static_elements.html +3 -1
- data/features/step_definitions/button_steps.rb +12 -0
- data/features/step_definitions/element_steps.rb +16 -0
- data/features/step_definitions/table_steps.rb +12 -2
- data/features/support/page.rb +6 -0
- data/features/table.feature +2 -0
- data/lib/page-object/accessors.rb +2 -0
- data/lib/page-object/elements/button.rb +2 -2
- data/lib/page-object/elements/table.rb +18 -0
- data/lib/page-object/platforms/selenium_webdriver/page_object.rb +3 -0
- data/lib/page-object/version.rb +1 -1
- data/page-object.gemspec +1 -1
- data/spec/page-object/elements/button_spec.rb +3 -3
- data/spec/page-object/elements/table_spec.rb +21 -1
- metadata +58 -63
    
        data/.rvmrc
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            rvm 1.9. | 
| 1 | 
            +
            rvm 1.9.3-p0@page-object --create
         | 
    
        data/ChangeLog
    CHANGED
    
    | @@ -1,4 +1,12 @@ | |
| 1 | 
            -
            === Version 0.5. | 
| 1 | 
            +
            === Version 0.5.2 / 2011-11-30
         | 
| 2 | 
            +
            * Enhancements
         | 
| 3 | 
            +
              * Added ability to find image buttons by src
         | 
| 4 | 
            +
              * Added ability to find image button by alt
         | 
| 5 | 
            +
              * Added first_row and last_row methods to Table
         | 
| 6 | 
            +
              * Updated to use selenium-webdriver 2.14.0
         | 
| 7 | 
            +
              * Updated to use watir-webdriver 0.3.9
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            === Version 0.5.1 / 2011-11-18
         | 
| 2 10 | 
             
            * Enhancements
         | 
| 3 11 | 
             
              * Added instance level in_frame method
         | 
| 4 12 | 
             
              * Support for nesting all *_element instance methods inside in_frame call
         | 
    
        data/features/button.feature
    CHANGED
    
    | @@ -6,9 +6,21 @@ Feature: Button | |
| 6 6 | 
             
              Background:
         | 
| 7 7 | 
             
                Given I am on the static elements page
         | 
| 8 8 |  | 
| 9 | 
            -
              Scenario:  | 
| 9 | 
            +
              Scenario: Clicking a button (type=submit)
         | 
| 10 10 | 
             
                When I click the button
         | 
| 11 11 | 
             
                Then I should be on the success page
         | 
| 12 | 
            +
                
         | 
| 13 | 
            +
              Scenario: Clicking a button (type=image)
         | 
| 14 | 
            +
                When I click the button with type image
         | 
| 15 | 
            +
                Then I should be on the success page
         | 
| 16 | 
            +
                
         | 
| 17 | 
            +
              Scenario: Clicking an image button by src
         | 
| 18 | 
            +
                When I click the image button using src
         | 
| 19 | 
            +
                Then I should be on the success page
         | 
| 20 | 
            +
             | 
| 21 | 
            +
              Scenario: Clicking an image button by alt
         | 
| 22 | 
            +
                When I click the image button using alt
         | 
| 23 | 
            +
                Then I should be on the success page
         | 
| 12 24 |  | 
| 13 25 | 
             
              Scenario: Retrieve a button element
         | 
| 14 26 | 
             
                When I retrieve a button element
         | 
    
        data/features/element.feature
    CHANGED
    
    | @@ -9,6 +9,12 @@ Feature: Elements | |
| 9 9 | 
             
                When I clear the text field
         | 
| 10 10 | 
             
                Then the text field should contain ""
         | 
| 11 11 |  | 
| 12 | 
            +
              Scenario: Elements enabled?
         | 
| 13 | 
            +
                When I check an enabled button
         | 
| 14 | 
            +
                Then it should know it is enabled
         | 
| 15 | 
            +
                When I check a disabled button
         | 
| 16 | 
            +
                Then it should know it is not enabled
         | 
| 17 | 
            +
             | 
| 12 18 | 
             
              Scenario: Link element methods
         | 
| 13 19 | 
             
                When I retrieve a link element
         | 
| 14 20 | 
             
                Then I should know it exists
         | 
| Binary file | 
| @@ -46,8 +46,10 @@ | |
| 46 46 | 
             
                </table>
         | 
| 47 47 |  | 
| 48 48 | 
             
                <form method="get" action="success.html">
         | 
| 49 | 
            -
                    <input id='button_id' name='button_name' class='button_class' type="submit" value="Click Me" | 
| 49 | 
            +
                    <input id='button_id' name='button_name' class='button_class' type="submit" value="Click Me"/>
         | 
| 50 | 
            +
                    <input id='button_image_id' type='image' src='images/submit.gif' alt='Submit'/>
         | 
| 50 51 | 
             
                    <button type='button' id='btn_id' name='btn_name' class='btn_class'>Click Me Too</button>
         | 
| 52 | 
            +
                    <input value="Disabled" disabled="true" type ="submit"/>
         | 
| 51 53 | 
             
                </form>
         | 
| 52 54 |  | 
| 53 55 | 
             
                <img src="images/circle.png" id="image_id" name="image_name" class="image_class">
         | 
| @@ -2,6 +2,18 @@ When /^I click the button$/ do | |
| 2 2 | 
             
              @page.button_id
         | 
| 3 3 | 
             
            end
         | 
| 4 4 |  | 
| 5 | 
            +
            When /^I click the button with type image$/ do
         | 
| 6 | 
            +
              @page.button_image_id
         | 
| 7 | 
            +
            end
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            When /^I click the image button using src$/ do
         | 
| 10 | 
            +
              @page.button_image_src
         | 
| 11 | 
            +
            end
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            When /^I click the image button using alt$/ do
         | 
| 14 | 
            +
              @page.button_image_alt
         | 
| 15 | 
            +
            end
         | 
| 16 | 
            +
             | 
| 5 17 | 
             
            When /^I search for the button by "([^\"]*)"$/ do |how|
         | 
| 6 18 | 
             
              @how = how
         | 
| 7 19 | 
             
            end
         | 
| @@ -107,3 +107,19 @@ end | |
| 107 107 | 
             
            When /^I clear the text field$/ do
         | 
| 108 108 | 
             
              @page.text_field_id_element.clear
         | 
| 109 109 | 
             
            end
         | 
| 110 | 
            +
             | 
| 111 | 
            +
            When /^I check an enabled button$/ do
         | 
| 112 | 
            +
              @element = @page.button_id_element
         | 
| 113 | 
            +
            end
         | 
| 114 | 
            +
             | 
| 115 | 
            +
            Then /^it should know it is enabled$/ do
         | 
| 116 | 
            +
              @element.should be_enabled
         | 
| 117 | 
            +
            end
         | 
| 118 | 
            +
             | 
| 119 | 
            +
            When /^I check a disabled button$/ do
         | 
| 120 | 
            +
              @element = @page.disabled_button_element
         | 
| 121 | 
            +
            end
         | 
| 122 | 
            +
             | 
| 123 | 
            +
            Then /^it should know it is not enabled$/ do
         | 
| 124 | 
            +
              @element.should_not be_enabled
         | 
| 125 | 
            +
            end
         | 
| @@ -1,4 +1,4 @@ | |
| 1 | 
            -
            Then /^the data for row "([ | 
| 1 | 
            +
            Then /^the data for row "([^\"]*)" should be "([^\"]*)" and "([^\"]*)"$/ do |row, col1, col2|
         | 
| 2 2 | 
             
              table_row = @element[row.to_i - 1]
         | 
| 3 3 | 
             
              table_row[0].text.should == col1
         | 
| 4 4 | 
             
              table_row[1].text.should == col2
         | 
| @@ -17,10 +17,20 @@ When /^I retrieve a table element by "([^\"]*)"$/ do |how| | |
| 17 17 | 
             
              @element = @page.send "table_#{how}_element"
         | 
| 18 18 | 
             
            end
         | 
| 19 19 |  | 
| 20 | 
            -
            When /^I retrieve a table element by "([ | 
| 20 | 
            +
            When /^I retrieve a table element by "([^\"]*)" and "([^\"]*)"$/ do |param1, param2|
         | 
| 21 21 | 
             
              @element = @page.send "table_#{param1}_#{param2}_element"
         | 
| 22 22 | 
             
            end
         | 
| 23 23 |  | 
| 24 24 | 
             
            When /^I retrieve a table element while the script is executing$/ do
         | 
| 25 25 | 
             
              @element = @page.table_element(:id => 'table_id')
         | 
| 26 26 | 
             
            end
         | 
| 27 | 
            +
             | 
| 28 | 
            +
            Then /^the data for the first row should be "([^\"]*)" and "([^\"]*)"$/ do |col1, col2|
         | 
| 29 | 
            +
              @element.first_row[0].text.should == col1
         | 
| 30 | 
            +
              @element.first_row[1].text.should == col2
         | 
| 31 | 
            +
            end
         | 
| 32 | 
            +
             | 
| 33 | 
            +
            Then /^the data for the last row should be "([^\"]*)" and "([^\"]*)"$/ do |col1, col2|
         | 
| 34 | 
            +
              @element.last_row[0].text.should == col1
         | 
| 35 | 
            +
              @element.last_row[1].text.should == col2
         | 
| 36 | 
            +
            end
         | 
    
        data/features/support/page.rb
    CHANGED
    
    | @@ -125,6 +125,10 @@ class Page | |
| 125 125 | 
             
              button(:button_class_index, :class => "button_class", :index => 0)
         | 
| 126 126 | 
             
              button(:button_name_index, :name => "button_name", :index => 0)
         | 
| 127 127 |  | 
| 128 | 
            +
              button(:button_image_id, :id => 'button_image_id')
         | 
| 129 | 
            +
              button(:button_image_src, :src => 'images/submit.gif')
         | 
| 130 | 
            +
              button(:button_image_alt, :alt => 'Submit')
         | 
| 131 | 
            +
             | 
| 128 132 | 
             
              button(:btn_id, :id => 'btn_id')
         | 
| 129 133 | 
             
              button(:btn_name, :name => 'btn_name')
         | 
| 130 134 | 
             
              button(:btn_class, :class => 'btn_class')
         | 
| @@ -134,6 +138,8 @@ class Page | |
| 134 138 | 
             
              button(:btn_class_index, :class => "btn_class", :index => 0)
         | 
| 135 139 | 
             
              button(:btn_name_index, :name => "btn_name", :index => 0)
         | 
| 136 140 |  | 
| 141 | 
            +
              button(:disabled_button, :value => 'Disabled')
         | 
| 142 | 
            +
             | 
| 137 143 | 
             
              image(:image_id, :id => 'image_id')
         | 
| 138 144 | 
             
              image(:image_name, :name => 'image_name')
         | 
| 139 145 | 
             
              image(:image_class, :class => 'image_class')
         | 
    
        data/features/table.feature
    CHANGED
    
    | @@ -23,6 +23,8 @@ Feature: Table | |
| 23 23 | 
             
                And each row should contain "Data"
         | 
| 24 24 | 
             
                And row "1" should have "2" columns
         | 
| 25 25 | 
             
                And each column should contain "Data"
         | 
| 26 | 
            +
                And the data for the first row should be "Data1" and "Data2"
         | 
| 27 | 
            +
                And the data for the last row should be "Data3" and "Data4"
         | 
| 26 28 |  | 
| 27 29 | 
             
              Scenario Outline: Locating table cells on the Page
         | 
| 28 30 | 
             
                When I retrieve a table element by "<search_by>"
         | 
| @@ -323,6 +323,8 @@ module PageObject | |
| 323 323 | 
             
                #   * :text => Watir and Selenium
         | 
| 324 324 | 
             
                #   * :value => Watir and Selenium
         | 
| 325 325 | 
             
                #   * :xpath => Watir and Selenium
         | 
| 326 | 
            +
                #   * :src => Watir and Selenium (input type=image only)
         | 
| 327 | 
            +
                #   * :alt => Watir and Selenium (input type=image only)
         | 
| 326 328 | 
             
                # @param optional block to be invoked when element method is called
         | 
| 327 329 | 
             
                #
         | 
| 328 330 | 
             
                def button(name, identifier=nil, &block)
         | 
| @@ -11,11 +11,11 @@ module PageObject | |
| 11 11 | 
             
                  protected
         | 
| 12 12 |  | 
| 13 13 | 
             
                  def self.watir_finders
         | 
| 14 | 
            -
                    super + [:text, :value]
         | 
| 14 | 
            +
                    super + [:text, :value, :src, :alt]
         | 
| 15 15 | 
             
                  end
         | 
| 16 16 |  | 
| 17 17 | 
             
                  def self.selenium_finders
         | 
| 18 | 
            -
                    super + [:value]
         | 
| 18 | 
            +
                    super + [:value, :src, :alt]
         | 
| 19 19 | 
             
                  end
         | 
| 20 20 |  | 
| 21 21 | 
             
                  def include_platform_for platform
         | 
| @@ -20,6 +20,24 @@ module PageObject | |
| 20 20 | 
             
                    end
         | 
| 21 21 | 
             
                  end
         | 
| 22 22 |  | 
| 23 | 
            +
                  #
         | 
| 24 | 
            +
                  # return the first row
         | 
| 25 | 
            +
                  #
         | 
| 26 | 
            +
                  # @return PageObject::Elements::TableRow
         | 
| 27 | 
            +
                  #
         | 
| 28 | 
            +
                  def first_row
         | 
| 29 | 
            +
                    self[0]
         | 
| 30 | 
            +
                  end
         | 
| 31 | 
            +
             | 
| 32 | 
            +
                  #
         | 
| 33 | 
            +
                  # return the last row
         | 
| 34 | 
            +
                  #
         | 
| 35 | 
            +
                  # @return PageObject::Elements::TableRow
         | 
| 36 | 
            +
                  #
         | 
| 37 | 
            +
                  def last_row
         | 
| 38 | 
            +
                    self[-1]
         | 
| 39 | 
            +
                  end
         | 
| 40 | 
            +
             | 
| 23 41 | 
             
                  protected
         | 
| 24 42 |  | 
| 25 43 | 
             
                  def child_xpath
         | 
| @@ -462,6 +462,7 @@ module PageObject | |
| 462 462 | 
             
                    #
         | 
| 463 463 | 
             
                    def click_button_for(identifier)
         | 
| 464 464 | 
             
                      how, what, frame_identifiers = parse_identifiers(identifier, Elements::Button, 'input', :type => 'submit')
         | 
| 465 | 
            +
                      puts "how=#{how}, what=#{what}"
         | 
| 465 466 | 
             
                      switch_to_frame(frame_identifiers)
         | 
| 466 467 | 
             
                      @browser.find_element(how, what).click
         | 
| 467 468 | 
             
                      @browser.switch_to.default_content unless frame_identifiers.nil?
         | 
| @@ -781,6 +782,8 @@ module PageObject | |
| 781 782 | 
             
                      return false if identifier[:href] and tag == 'a'
         | 
| 782 783 | 
             
                      return false if identifier[:text] and ['div', 'span', 'td'].include? tag
         | 
| 783 784 | 
             
                      return false if identifier[:value] and tag == 'input' and additional[:type] == 'submit'
         | 
| 785 | 
            +
                      return false if identifier[:src] and tag == 'input' and additional[:type] == 'submit'
         | 
| 786 | 
            +
                      return false if identifier[:alt] and tag == 'input' and additional[:type] == 'submit'
         | 
| 784 787 | 
             
                      return false if identifier[:value] and tag == 'input' and additional[:type] == 'radio'
         | 
| 785 788 | 
             
                      true
         | 
| 786 789 | 
             
                    end
         | 
    
        data/lib/page-object/version.rb
    CHANGED
    
    
    
        data/page-object.gemspec
    CHANGED
    
    | @@ -20,7 +20,7 @@ Gem::Specification.new do |s| | |
| 20 20 | 
             
              s.require_paths = ["lib"]
         | 
| 21 21 |  | 
| 22 22 | 
             
              s.add_dependency 'watir-webdriver', '>= 0.3.9'
         | 
| 23 | 
            -
              s.add_dependency 'selenium-webdriver', '>= 2. | 
| 23 | 
            +
              s.add_dependency 'selenium-webdriver', '>= 2.14.0' 
         | 
| 24 24 |  | 
| 25 25 | 
             
              s.add_development_dependency 'rspec', '>= 2.6.0'
         | 
| 26 26 | 
             
              s.add_development_dependency 'cucumber', '>= 1.1.0'
         | 
| @@ -6,14 +6,14 @@ describe PageObject::Elements::Button do | |
| 6 6 |  | 
| 7 7 | 
             
              context "when mapping how to find an element" do
         | 
| 8 8 | 
             
                it "should map watir types to same" do
         | 
| 9 | 
            -
                  [:class, :id, :index, :name, :value, :xpath].each do |t|
         | 
| 9 | 
            +
                  [:class, :id, :index, :name, :value, :xpath, :src, :alt].each do |t|
         | 
| 10 10 | 
             
                    identifier = button.watir_identifier_for t => 'value'
         | 
| 11 11 | 
             
                    identifier.keys.first.should == t
         | 
| 12 12 | 
             
                  end
         | 
| 13 13 | 
             
                end
         | 
| 14 14 |  | 
| 15 15 | 
             
                it "should map selenium types to same" do
         | 
| 16 | 
            -
                  [:class, :id, :index, :name, :value, :xpath].each do |t|
         | 
| 16 | 
            +
                  [:class, :id, :index, :name, :value, :xpath, :src, :alt].each do |t|
         | 
| 17 17 | 
             
                    key, value = button.selenium_identifier_for t => 'value'
         | 
| 18 18 | 
             
                    key.should == t
         | 
| 19 19 | 
             
                  end
         | 
| @@ -31,4 +31,4 @@ describe PageObject::Elements::Button do | |
| 31 31 | 
             
                end
         | 
| 32 32 | 
             
              end
         | 
| 33 33 |  | 
| 34 | 
            -
            end
         | 
| 34 | 
            +
            end
         | 
| @@ -34,6 +34,16 @@ describe PageObject::Elements::Table do | |
| 34 34 | 
             
                    watir_table[1].should be_instance_of PageObject::Elements::TableRow
         | 
| 35 35 | 
             
                  end
         | 
| 36 36 |  | 
| 37 | 
            +
                  it "should return the first row" do
         | 
| 38 | 
            +
                    table_element.stub(:[]).with(0).and_return(table_element)
         | 
| 39 | 
            +
                    watir_table.first_row.should be_instance_of PageObject::Elements::TableRow
         | 
| 40 | 
            +
                  end
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                  it "shoudl return the last row" do
         | 
| 43 | 
            +
                    table_element.stub(:[]).with(-1).and_return(table_element)
         | 
| 44 | 
            +
                    watir_table.last_row.should be_instance_of PageObject::Elements::TableRow
         | 
| 45 | 
            +
                  end
         | 
| 46 | 
            +
             | 
| 37 47 | 
             
                  it "should return the number of rows" do
         | 
| 38 48 | 
             
                    table_element.stub(:wd).and_return(table_element)
         | 
| 39 49 | 
             
                    table_element.should_receive(:find_elements).with(:xpath, ".//child::tr").and_return(table_element)
         | 
| @@ -57,6 +67,16 @@ describe PageObject::Elements::Table do | |
| 57 67 | 
             
                    selenium_table[1].should be_instance_of PageObject::Elements::TableRow
         | 
| 58 68 | 
             
                  end
         | 
| 59 69 |  | 
| 70 | 
            +
                  it "should return the first row" do
         | 
| 71 | 
            +
                    table_element.stub(:[]).with(0).and_return(table_element)
         | 
| 72 | 
            +
                    selenium_table.first_row.should be_instance_of PageObject::Elements::TableRow
         | 
| 73 | 
            +
                  end
         | 
| 74 | 
            +
             | 
| 75 | 
            +
                  it "shoudl return the last row" do
         | 
| 76 | 
            +
                    table_element.stub(:[]).with(-1).and_return(table_element)
         | 
| 77 | 
            +
                    selenium_table.last_row.should be_instance_of PageObject::Elements::TableRow
         | 
| 78 | 
            +
                  end
         | 
| 79 | 
            +
             | 
| 60 80 | 
             
                  it "should return the number of rows" do
         | 
| 61 81 | 
             
                    table_element.should_receive(:find_elements).with(:xpath, ".//child::tr").and_return(table_element)
         | 
| 62 82 | 
             
                    table_element.should_receive(:size).and_return(2)
         | 
| @@ -71,4 +91,4 @@ describe PageObject::Elements::Table do | |
| 71 91 | 
             
                  end
         | 
| 72 92 | 
             
                end
         | 
| 73 93 | 
             
              end
         | 
| 74 | 
            -
            end
         | 
| 94 | 
            +
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,82 +1,78 @@ | |
| 1 | 
            -
            --- !ruby/object:Gem::Specification | 
| 1 | 
            +
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: page-object
         | 
| 3 | 
            -
            version: !ruby/object:Gem::Version | 
| 3 | 
            +
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            +
              version: 0.5.2
         | 
| 4 5 | 
             
              prerelease: 
         | 
| 5 | 
            -
              version: 0.5.1
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 | 
            -
            authors: | 
| 7 | 
            +
            authors:
         | 
| 8 8 | 
             
            - Jeff Morgan
         | 
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
            - !ruby/object:Gem::Dependency 
         | 
| 12 | 
            +
            date: 2011-11-30 00:00:00.000000000 Z
         | 
| 13 | 
            +
            dependencies:
         | 
| 14 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 16 15 | 
             
              name: watir-webdriver
         | 
| 17 | 
            -
               | 
| 18 | 
            -
              requirement: &id001 !ruby/object:Gem::Requirement 
         | 
| 16 | 
            +
              requirement: &70095900630940 !ruby/object:Gem::Requirement
         | 
| 19 17 | 
             
                none: false
         | 
| 20 | 
            -
                requirements: | 
| 21 | 
            -
                - -  | 
| 22 | 
            -
                  - !ruby/object:Gem::Version | 
| 18 | 
            +
                requirements:
         | 
| 19 | 
            +
                - - ! '>='
         | 
| 20 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 23 21 | 
             
                    version: 0.3.9
         | 
| 24 22 | 
             
              type: :runtime
         | 
| 25 | 
            -
              version_requirements: *id001
         | 
| 26 | 
            -
            - !ruby/object:Gem::Dependency 
         | 
| 27 | 
            -
              name: selenium-webdriver
         | 
| 28 23 | 
             
              prerelease: false
         | 
| 29 | 
            -
               | 
| 24 | 
            +
              version_requirements: *70095900630940
         | 
| 25 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 26 | 
            +
              name: selenium-webdriver
         | 
| 27 | 
            +
              requirement: &70095900629300 !ruby/object:Gem::Requirement
         | 
| 30 28 | 
             
                none: false
         | 
| 31 | 
            -
                requirements: | 
| 32 | 
            -
                - -  | 
| 33 | 
            -
                  - !ruby/object:Gem::Version | 
| 34 | 
            -
                    version: 2. | 
| 29 | 
            +
                requirements:
         | 
| 30 | 
            +
                - - ! '>='
         | 
| 31 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 32 | 
            +
                    version: 2.14.0
         | 
| 35 33 | 
             
              type: :runtime
         | 
| 36 | 
            -
              version_requirements: *id002
         | 
| 37 | 
            -
            - !ruby/object:Gem::Dependency 
         | 
| 38 | 
            -
              name: rspec
         | 
| 39 34 | 
             
              prerelease: false
         | 
| 40 | 
            -
               | 
| 35 | 
            +
              version_requirements: *70095900629300
         | 
| 36 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 37 | 
            +
              name: rspec
         | 
| 38 | 
            +
              requirement: &70095900627260 !ruby/object:Gem::Requirement
         | 
| 41 39 | 
             
                none: false
         | 
| 42 | 
            -
                requirements: | 
| 43 | 
            -
                - -  | 
| 44 | 
            -
                  - !ruby/object:Gem::Version | 
| 40 | 
            +
                requirements:
         | 
| 41 | 
            +
                - - ! '>='
         | 
| 42 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 45 43 | 
             
                    version: 2.6.0
         | 
| 46 44 | 
             
              type: :development
         | 
| 47 | 
            -
              version_requirements: *id003
         | 
| 48 | 
            -
            - !ruby/object:Gem::Dependency 
         | 
| 49 | 
            -
              name: cucumber
         | 
| 50 45 | 
             
              prerelease: false
         | 
| 51 | 
            -
               | 
| 46 | 
            +
              version_requirements: *70095900627260
         | 
| 47 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 48 | 
            +
              name: cucumber
         | 
| 49 | 
            +
              requirement: &70095900626440 !ruby/object:Gem::Requirement
         | 
| 52 50 | 
             
                none: false
         | 
| 53 | 
            -
                requirements: | 
| 54 | 
            -
                - -  | 
| 55 | 
            -
                  - !ruby/object:Gem::Version | 
| 51 | 
            +
                requirements:
         | 
| 52 | 
            +
                - - ! '>='
         | 
| 53 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 56 54 | 
             
                    version: 1.1.0
         | 
| 57 55 | 
             
              type: :development
         | 
| 58 | 
            -
              version_requirements: *id004
         | 
| 59 | 
            -
            - !ruby/object:Gem::Dependency 
         | 
| 60 | 
            -
              name: yard
         | 
| 61 56 | 
             
              prerelease: false
         | 
| 62 | 
            -
               | 
| 57 | 
            +
              version_requirements: *70095900626440
         | 
| 58 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 59 | 
            +
              name: yard
         | 
| 60 | 
            +
              requirement: &70095900625280 !ruby/object:Gem::Requirement
         | 
| 63 61 | 
             
                none: false
         | 
| 64 | 
            -
                requirements: | 
| 65 | 
            -
                - -  | 
| 66 | 
            -
                  - !ruby/object:Gem::Version | 
| 62 | 
            +
                requirements:
         | 
| 63 | 
            +
                - - ! '>='
         | 
| 64 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 67 65 | 
             
                    version: 0.7.2
         | 
| 68 66 | 
             
              type: :development
         | 
| 69 | 
            -
               | 
| 67 | 
            +
              prerelease: false
         | 
| 68 | 
            +
              version_requirements: *70095900625280
         | 
| 70 69 | 
             
            description: Page Object DSL that works with both Watir and Selenium
         | 
| 71 | 
            -
            email: | 
| 70 | 
            +
            email:
         | 
| 72 71 | 
             
            - jeff.morgan@leandog.com
         | 
| 73 72 | 
             
            executables: []
         | 
| 74 | 
            -
             | 
| 75 73 | 
             
            extensions: []
         | 
| 76 | 
            -
             | 
| 77 74 | 
             
            extra_rdoc_files: []
         | 
| 78 | 
            -
             | 
| 79 | 
            -
            files: 
         | 
| 75 | 
            +
            files:
         | 
| 80 76 | 
             
            - .gitignore
         | 
| 81 77 | 
             
            - .rspec
         | 
| 82 78 | 
             
            - .rvmrc
         | 
| @@ -102,6 +98,7 @@ files: | |
| 102 98 | 
             
            - features/html/frames.html
         | 
| 103 99 | 
             
            - features/html/iframes.html
         | 
| 104 100 | 
             
            - features/html/images/circle.png
         | 
| 101 | 
            +
            - features/html/images/submit.gif
         | 
| 105 102 | 
             
            - features/html/modal.html
         | 
| 106 103 | 
             
            - features/html/modal_1.html
         | 
| 107 104 | 
             
            - features/html/modal_2.html
         | 
| @@ -254,32 +251,29 @@ files: | |
| 254 251 | 
             
            - spec/spec_helper.rb
         | 
| 255 252 | 
             
            homepage: http://github.com/cheezy/page-object
         | 
| 256 253 | 
             
            licenses: []
         | 
| 257 | 
            -
             | 
| 258 254 | 
             
            post_install_message: 
         | 
| 259 255 | 
             
            rdoc_options: []
         | 
| 260 | 
            -
             | 
| 261 | 
            -
            require_paths: 
         | 
| 256 | 
            +
            require_paths:
         | 
| 262 257 | 
             
            - lib
         | 
| 263 | 
            -
            required_ruby_version: !ruby/object:Gem::Requirement | 
| 258 | 
            +
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 264 259 | 
             
              none: false
         | 
| 265 | 
            -
              requirements: | 
| 266 | 
            -
              - -  | 
| 267 | 
            -
                - !ruby/object:Gem::Version | 
| 268 | 
            -
                  version:  | 
| 269 | 
            -
            required_rubygems_version: !ruby/object:Gem::Requirement | 
| 260 | 
            +
              requirements:
         | 
| 261 | 
            +
              - - ! '>='
         | 
| 262 | 
            +
                - !ruby/object:Gem::Version
         | 
| 263 | 
            +
                  version: '0'
         | 
| 264 | 
            +
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 270 265 | 
             
              none: false
         | 
| 271 | 
            -
              requirements: | 
| 272 | 
            -
              - -  | 
| 273 | 
            -
                - !ruby/object:Gem::Version | 
| 274 | 
            -
                  version:  | 
| 266 | 
            +
              requirements:
         | 
| 267 | 
            +
              - - ! '>='
         | 
| 268 | 
            +
                - !ruby/object:Gem::Version
         | 
| 269 | 
            +
                  version: '0'
         | 
| 275 270 | 
             
            requirements: []
         | 
| 276 | 
            -
             | 
| 277 271 | 
             
            rubyforge_project: page-object
         | 
| 278 272 | 
             
            rubygems_version: 1.8.10
         | 
| 279 273 | 
             
            signing_key: 
         | 
| 280 274 | 
             
            specification_version: 3
         | 
| 281 275 | 
             
            summary: Page Object DSL for browser testing
         | 
| 282 | 
            -
            test_files: | 
| 276 | 
            +
            test_files:
         | 
| 283 277 | 
             
            - features/async.feature
         | 
| 284 278 | 
             
            - features/button.feature
         | 
| 285 279 | 
             
            - features/check_box.feature
         | 
| @@ -295,6 +289,7 @@ test_files: | |
| 295 289 | 
             
            - features/html/frames.html
         | 
| 296 290 | 
             
            - features/html/iframes.html
         | 
| 297 291 | 
             
            - features/html/images/circle.png
         | 
| 292 | 
            +
            - features/html/images/submit.gif
         | 
| 298 293 | 
             
            - features/html/modal.html
         | 
| 299 294 | 
             
            - features/html/modal_1.html
         | 
| 300 295 | 
             
            - features/html/modal_2.html
         |