kameleon 0.2.1 → 1.0.0
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/README.md +11 -1
- data/lib/kameleon/dsl/context/scope.rb +3 -1
- data/lib/kameleon/dsl/verify/presence.rb +13 -8
- data/lib/kameleon/ext/rspec/all.rb +1 -1
- metadata +22 -22
    
        data/README.md
    CHANGED
    
    | @@ -4,9 +4,19 @@ | |
| 4 4 |  | 
| 5 5 | 
             
            [](http://coderwall.com/cs3b)
         | 
| 6 6 |  | 
| 7 | 
            -
            Kameleon is a high abstraction dsl for better writing acceptance and  | 
| 7 | 
            +
            Kameleon is a high abstraction dsl for better writing acceptance and integration tests using Capybara.
         | 
| 8 8 | 
             
            And "better" means: more easily to mimic how user interact with browser.
         | 
| 9 9 |  | 
| 10 | 
            +
            ## note on Capybara versions
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            for 1.x capybara please use kameleon in version below 1.0
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                gem 'kameleon', '< 1.0'
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            for 2.x capybara please use kameleon in version higher or equeal 1.0
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                gem 'kameleon', '>= 1.0'
         | 
| 19 | 
            +
             | 
| 10 20 | 
             
            ## Setup
         | 
| 11 21 |  | 
| 12 22 | 
             
            Kameleon requires:
         | 
| @@ -80,7 +80,9 @@ module Kameleon | |
| 80 80 | 
             
                        [:xpath, "//tbody/tr[#{value_in_row}]/td[#{value_in_column}]"]
         | 
| 81 81 | 
             
                      else
         | 
| 82 82 | 
             
                        #! on page there might be more then one table
         | 
| 83 | 
            -
                         | 
| 83 | 
            +
                        result = Capybara.current_session.all(:xpath, "//table//th")
         | 
| 84 | 
            +
                        elements = result.each.to_a
         | 
| 85 | 
            +
                        position = elements.index { |n| n.text =~ /#{value_in_column}/ }
         | 
| 84 86 | 
             
                        [:xpath, "//tr[*='#{value_in_row}'][1]/td[#{position+1}]"]
         | 
| 85 87 | 
             
                      end
         | 
| 86 88 | 
             
                    end
         | 
| @@ -231,7 +231,12 @@ module Kameleon | |
| 231 231 | 
             
                        when Symbol
         | 
| 232 232 | 
             
                          parse_params(params.to_s)
         | 
| 233 233 | 
             
                        when String
         | 
| 234 | 
            -
                          conditions << | 
| 234 | 
            +
                          conditions <<
         | 
| 235 | 
            +
                              if value.nil? or value == ""
         | 
| 236 | 
            +
                                Condition.new(:have_field, params)
         | 
| 237 | 
            +
                              else
         | 
| 238 | 
            +
                                Condition.new(:have_field, params, :with => value)
         | 
| 239 | 
            +
                              end
         | 
| 235 240 | 
             
                        when Array
         | 
| 236 241 | 
             
                          params.each { |param| parse_params(param) }
         | 
| 237 242 | 
             
                        else
         | 
| @@ -332,13 +337,13 @@ module Kameleon | |
| 332 337 | 
             
                                parse_params(selected_value => identifier.to_s)
         | 
| 333 338 | 
             
                              when String
         | 
| 334 339 | 
             
                                value = case selected_value
         | 
| 335 | 
            -
             | 
| 336 | 
            -
             | 
| 337 | 
            -
             | 
| 338 | 
            -
             | 
| 339 | 
            -
             | 
| 340 | 
            -
             | 
| 341 | 
            -
             | 
| 340 | 
            +
                                          when Symbol, Fixnum
         | 
| 341 | 
            +
                                            selected_value.to_s
         | 
| 342 | 
            +
                                          when String, Array
         | 
| 343 | 
            +
                                            selected_value
         | 
| 344 | 
            +
                                          else
         | 
| 345 | 
            +
                                            raise "not supported"
         | 
| 346 | 
            +
                                        end
         | 
| 342 347 | 
             
                                conditions << Condition.new(matcher_method, identifier, :selected => value)
         | 
| 343 348 | 
             
                              else
         | 
| 344 349 | 
             
                                raise "not supported"
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: kameleon
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 1.0.0
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -11,7 +11,7 @@ authors: | |
| 11 11 | 
             
            autorequire: 
         | 
| 12 12 | 
             
            bindir: bin
         | 
| 13 13 | 
             
            cert_chain: []
         | 
| 14 | 
            -
            date:  | 
| 14 | 
            +
            date: 2013-02-24 00:00:00.000000000 Z
         | 
| 15 15 | 
             
            dependencies:
         | 
| 16 16 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 17 17 | 
             
              name: rspec
         | 
| @@ -34,17 +34,17 @@ dependencies: | |
| 34 34 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 35 35 | 
             
                none: false
         | 
| 36 36 | 
             
                requirements:
         | 
| 37 | 
            -
                - -  | 
| 37 | 
            +
                - - ~>
         | 
| 38 38 | 
             
                  - !ruby/object:Gem::Version
         | 
| 39 | 
            -
                    version: '0'
         | 
| 39 | 
            +
                    version: '2.0'
         | 
| 40 40 | 
             
              type: :runtime
         | 
| 41 41 | 
             
              prerelease: false
         | 
| 42 42 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 43 43 | 
             
                none: false
         | 
| 44 44 | 
             
                requirements:
         | 
| 45 | 
            -
                - -  | 
| 45 | 
            +
                - - ~>
         | 
| 46 46 | 
             
                  - !ruby/object:Gem::Version
         | 
| 47 | 
            -
                    version: '0'
         | 
| 47 | 
            +
                    version: '2.0'
         | 
| 48 48 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 49 49 | 
             
              name: headless
         | 
| 50 50 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -126,53 +126,53 @@ dependencies: | |
| 126 126 | 
             
                  - !ruby/object:Gem::Version
         | 
| 127 127 | 
             
                    version: '0'
         | 
| 128 128 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 129 | 
            -
              name:  | 
| 129 | 
            +
              name: selenium-webdriver
         | 
| 130 130 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 131 131 | 
             
                none: false
         | 
| 132 132 | 
             
                requirements:
         | 
| 133 | 
            -
                - -  | 
| 133 | 
            +
                - - ~>
         | 
| 134 134 | 
             
                  - !ruby/object:Gem::Version
         | 
| 135 | 
            -
                    version: '0'
         | 
| 135 | 
            +
                    version: '2.0'
         | 
| 136 136 | 
             
              type: :development
         | 
| 137 137 | 
             
              prerelease: false
         | 
| 138 138 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 139 139 | 
             
                none: false
         | 
| 140 140 | 
             
                requirements:
         | 
| 141 | 
            -
                - -  | 
| 141 | 
            +
                - - ~>
         | 
| 142 142 | 
             
                  - !ruby/object:Gem::Version
         | 
| 143 | 
            -
                    version: '0'
         | 
| 143 | 
            +
                    version: '2.0'
         | 
| 144 144 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 145 | 
            -
              name:  | 
| 145 | 
            +
              name: capybara-webkit
         | 
| 146 146 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 147 147 | 
             
                none: false
         | 
| 148 148 | 
             
                requirements:
         | 
| 149 | 
            -
                - -  | 
| 149 | 
            +
                - - ~>
         | 
| 150 150 | 
             
                  - !ruby/object:Gem::Version
         | 
| 151 | 
            -
                    version: ' | 
| 151 | 
            +
                    version: '1.14'
         | 
| 152 152 | 
             
              type: :development
         | 
| 153 153 | 
             
              prerelease: false
         | 
| 154 154 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 155 155 | 
             
                none: false
         | 
| 156 156 | 
             
                requirements:
         | 
| 157 | 
            -
                - -  | 
| 157 | 
            +
                - - ~>
         | 
| 158 158 | 
             
                  - !ruby/object:Gem::Version
         | 
| 159 | 
            -
                    version: ' | 
| 159 | 
            +
                    version: '1.14'
         | 
| 160 160 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 161 | 
            -
              name:  | 
| 161 | 
            +
              name: poltergeist
         | 
| 162 162 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 163 163 | 
             
                none: false
         | 
| 164 164 | 
             
                requirements:
         | 
| 165 | 
            -
                - -  | 
| 165 | 
            +
                - - ~>
         | 
| 166 166 | 
             
                  - !ruby/object:Gem::Version
         | 
| 167 | 
            -
                    version: ' | 
| 167 | 
            +
                    version: '1.1'
         | 
| 168 168 | 
             
              type: :development
         | 
| 169 169 | 
             
              prerelease: false
         | 
| 170 170 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 171 171 | 
             
                none: false
         | 
| 172 172 | 
             
                requirements:
         | 
| 173 | 
            -
                - -  | 
| 173 | 
            +
                - - ~>
         | 
| 174 174 | 
             
                  - !ruby/object:Gem::Version
         | 
| 175 | 
            -
                    version: ' | 
| 175 | 
            +
                    version: '1.1'
         | 
| 176 176 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 177 177 | 
             
              name: pry
         | 
| 178 178 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -232,7 +232,7 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 232 232 | 
             
              requirements:
         | 
| 233 233 | 
             
              - - ! '>='
         | 
| 234 234 | 
             
                - !ruby/object:Gem::Version
         | 
| 235 | 
            -
                  version:  | 
| 235 | 
            +
                  version: 1.9.0
         | 
| 236 236 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 237 237 | 
             
              none: false
         | 
| 238 238 | 
             
              requirements:
         |