frameworks-capybara 0.2.13 → 0.2.14
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/Gemfile.lock +7 -1
- data/frameworks-capybara.gemspec +2 -0
- data/lib/frameworks/capybara.rb +10 -0
- data/lib/frameworks/cucumber.rb +7 -2
- data/lib/version.rb +1 -1
- data/spec/frameworks_capybara_spec.rb +18 -3
- metadata +39 -11
    
        data/Gemfile.lock
    CHANGED
    
    | @@ -1,11 +1,13 @@ | |
| 1 1 | 
             
            PATH
         | 
| 2 2 | 
             
              remote: .
         | 
| 3 3 | 
             
              specs:
         | 
| 4 | 
            -
                frameworks-capybara (0.2. | 
| 4 | 
            +
                frameworks-capybara (0.2.14)
         | 
| 5 5 | 
             
                  capybara (>= 1.0.0)
         | 
| 6 6 | 
             
                  capybara-celerity
         | 
| 7 7 | 
             
                  capybara-mechanize (>= 0.3.0)
         | 
| 8 | 
            +
                  capybara-webkit
         | 
| 8 9 | 
             
                  cucumber (>= 0.10.5)
         | 
| 10 | 
            +
                  headless
         | 
| 9 11 | 
             
                  json
         | 
| 10 12 | 
             
                  w3c_validators
         | 
| 11 13 |  | 
| @@ -27,6 +29,9 @@ GEM | |
| 27 29 | 
             
                capybara-mechanize (0.3.0)
         | 
| 28 30 | 
             
                  capybara (~> 1.1)
         | 
| 29 31 | 
             
                  mechanize (~> 2.3)
         | 
| 32 | 
            +
                capybara-webkit (0.12.1)
         | 
| 33 | 
            +
                  capybara (>= 1.0.0, < 1.2)
         | 
| 34 | 
            +
                  json
         | 
| 30 35 | 
             
                celerity (0.9.2)
         | 
| 31 36 | 
             
                childprocess (0.3.3)
         | 
| 32 37 | 
             
                  ffi (~> 1.0.6)
         | 
| @@ -41,6 +46,7 @@ GEM | |
| 41 46 | 
             
                ffi (1.0.11)
         | 
| 42 47 | 
             
                gherkin (2.11.1)
         | 
| 43 48 | 
             
                  json (>= 1.4.6)
         | 
| 49 | 
            +
                headless (0.3.1)
         | 
| 44 50 | 
             
                json (1.7.3)
         | 
| 45 51 | 
             
                libwebsocket (0.1.4)
         | 
| 46 52 | 
             
                  addressable
         | 
    
        data/frameworks-capybara.gemspec
    CHANGED
    
    | @@ -22,7 +22,9 @@ Gem::Specification.new do |s| | |
| 22 22 |  | 
| 23 23 | 
             
              s.add_runtime_dependency("capybara", [">=1.0.0"])
         | 
| 24 24 | 
             
              s.add_runtime_dependency("capybara-mechanize", [">=0.3.0"])
         | 
| 25 | 
            +
              s.add_runtime_dependency("capybara-webkit")
         | 
| 25 26 | 
             
              s.add_runtime_dependency("json")
         | 
| 27 | 
            +
              s.add_runtime_dependency("headless")
         | 
| 26 28 | 
             
              s.add_runtime_dependency("capybara-celerity")
         | 
| 27 29 | 
             
              s.add_runtime_dependency("w3c_validators")
         | 
| 28 30 | 
             
              s.add_runtime_dependency("cucumber", [">= 0.10.5"])
         | 
    
        data/lib/frameworks/capybara.rb
    CHANGED
    
    | @@ -8,6 +8,7 @@ require 'monkey-patches/net-http-persistent-patches' | |
| 8 8 | 
             
            require 'selenium-webdriver'
         | 
| 9 9 | 
             
            require 'capybara/mechanize/cucumber' 
         | 
| 10 10 | 
             
            require 'capybara/celerity'
         | 
| 11 | 
            +
            require 'capybara-webkit'
         | 
| 11 12 |  | 
| 12 13 | 
             
            class CapybaraSetup
         | 
| 13 14 |  | 
| @@ -53,6 +54,8 @@ class CapybaraSetup | |
| 53 54 | 
             
                  @driver = register_celerity_driver(capybara_opts)
         | 
| 54 55 | 
             
                when :mechanize then
         | 
| 55 56 | 
             
                  @driver = register_mechanize_driver(capybara_opts)
         | 
| 57 | 
            +
                when :webkit then
         | 
| 58 | 
            +
                  @driver = register_webkit_driver(capybara_opts)
         | 
| 56 59 | 
             
                else
         | 
| 57 60 | 
             
                  @driver = register_selenium_driver(capybara_opts, selenium_remote_opts, custom_opts)
         | 
| 58 61 | 
             
                end
         | 
| @@ -162,6 +165,13 @@ class CapybaraSetup | |
| 162 165 | 
             
                :mechanize
         | 
| 163 166 | 
             
              end
         | 
| 164 167 |  | 
| 168 | 
            +
              def register_webkit_driver(opts)
         | 
| 169 | 
            +
                Capybara.register_driver :webkit do |app|
         | 
| 170 | 
            +
                  Capybara::Driver::Webkit.new(app)
         | 
| 171 | 
            +
                end
         | 
| 172 | 
            +
                :webkit
         | 
| 173 | 
            +
              end
         | 
| 174 | 
            +
             | 
| 165 175 | 
             
              def clean_opts(opts, *args)
         | 
| 166 176 | 
             
                args.each do |arg|
         | 
| 167 177 | 
             
                  opts.delete arg
         | 
    
        data/lib/frameworks/cucumber.rb
    CHANGED
    
    | @@ -2,7 +2,8 @@ require 'frameworks/capybara' | |
| 2 2 | 
             
            require 'w3c_validators'
         | 
| 3 3 | 
             
            require 'monkey-patches/cucumber-patches'
         | 
| 4 4 |  | 
| 5 | 
            -
             | 
| 5 | 
            +
            #This is hackish but means we only run once in cucumber and not every scenario
         | 
| 6 | 
            +
            if(ENV['XVFB']=='true' || ENV['BROWSER'] == 'webkit')
         | 
| 6 7 | 
             
              puts "You have chosen to use XVFB - ensure you have yum installed Xvfb Xorg and firefox"
         | 
| 7 8 | 
             
              require 'headless'
         | 
| 8 9 | 
             
              headless = Headless.new
         | 
| @@ -110,13 +111,17 @@ Before do | |
| 110 111 |  | 
| 111 112 | 
             
                page.driver.browser.agent.ca_file = ENV['CA_CERT_LOCATION'] if ENV['CA_CERT_LOCATION']
         | 
| 112 113 |  | 
| 113 | 
            -
                #TODO: Fix proxy logic globally...use system proxy instead of PROXY_URL
         | 
| 114 114 | 
             
                page.driver.browser.agent.set_proxy(http_proxy.scan(/http:\/\/(.*):80/).to_s,80) if http_proxy
         | 
| 115 115 |  | 
| 116 116 | 
             
                #This is necessary because Mech2 does not ship with root certs like Mech1 did and boxes may not have the OpenSSL set installed
         | 
| 117 117 | 
             
                page.driver.browser.agent.verify_mode = OpenSSL::SSL::VERIFY_NONE
         | 
| 118 118 | 
             
              end
         | 
| 119 119 |  | 
| 120 | 
            +
              #TODO: See if this can be set at the driver level rather than in before do - and only want to start headless once
         | 
| 121 | 
            +
              if page.driver.class == Capybara::Driver::Webkit
         | 
| 122 | 
            +
                page.driver.browser.set_proxy(:host => http_proxy.scan(/http:\/\/(.*):80/).to_s,:port => '80') if http_proxy
         | 
| 123 | 
            +
              end
         | 
| 124 | 
            +
             | 
| 120 125 | 
             
              generate_base_urls
         | 
| 121 126 | 
             
            end
         | 
| 122 127 |  | 
    
        data/lib/version.rb
    CHANGED
    
    
| @@ -275,7 +275,7 @@ describe CapybaraSetup do | |
| 275 275 | 
             
                    end
         | 
| 276 276 | 
             
                    it_behaves_like "Selenium Driver Options Array"
         | 
| 277 277 | 
             
                  end
         | 
| 278 | 
            -
             | 
| 278 | 
            +
             | 
| 279 279 |  | 
| 280 280 | 
             
                  context "with Selenium driver and additional firefox preferences" do
         | 
| 281 281 | 
             
                    before do
         | 
| @@ -294,7 +294,7 @@ describe CapybaraSetup do | |
| 294 294 | 
             
                    end
         | 
| 295 295 | 
             
                    it_behaves_like "Selenium Driver Options Array"
         | 
| 296 296 | 
             
                  end
         | 
| 297 | 
            -
             | 
| 297 | 
            +
             | 
| 298 298 |  | 
| 299 299 | 
             
                  context "with Selenium driver and new profile and custom prefs" do
         | 
| 300 300 | 
             
                    before do
         | 
| @@ -312,7 +312,7 @@ describe CapybaraSetup do | |
| 312 312 | 
             
                    end
         | 
| 313 313 | 
             
                    it_behaves_like "Selenium Driver Options Array"
         | 
| 314 314 | 
             
                  end
         | 
| 315 | 
            -
             | 
| 315 | 
            +
             | 
| 316 316 | 
             
                  context "with Remote Selenium driver and specified Chrome Switches" do
         | 
| 317 317 | 
             
                    before do
         | 
| 318 318 | 
             
                      ENV['BROWSER'] = 'remote'
         | 
| @@ -449,6 +449,21 @@ describe CapybaraSetup do | |
| 449 449 | 
             
                    end
         | 
| 450 450 |  | 
| 451 451 | 
             
                  end
         | 
| 452 | 
            +
             | 
| 453 | 
            +
                  describe "should allow Webkit driver to be created" do
         | 
| 454 | 
            +
                    context "with minimal Webkit driver" do
         | 
| 455 | 
            +
                      before do
         | 
| 456 | 
            +
                        ENV['BROWSER'] = 'webkit'
         | 
| 457 | 
            +
                      end
         | 
| 458 | 
            +
             | 
| 459 | 
            +
                      it "should be initialized correctly" do 
         | 
| 460 | 
            +
                        Capybara.delete_session
         | 
| 461 | 
            +
                        CapybaraSetup.new.driver.should == :webkit
         | 
| 462 | 
            +
                        Capybara.current_session.driver.should be_a_kind_of Capybara::Driver::Webkit
         | 
| 463 | 
            +
                      end
         | 
| 464 | 
            +
                    end
         | 
| 465 | 
            +
                  end
         | 
| 466 | 
            +
             | 
| 452 467 | 
             
                end
         | 
| 453 468 | 
             
              end
         | 
| 454 469 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,13 +1,13 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: frameworks-capybara
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              hash:  | 
| 4 | 
            +
              hash: 11
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 0
         | 
| 8 8 | 
             
              - 2
         | 
| 9 | 
            -
              -  | 
| 10 | 
            -
              version: 0.2. | 
| 9 | 
            +
              - 14
         | 
| 10 | 
            +
              version: 0.2.14
         | 
| 11 11 | 
             
            platform: ruby
         | 
| 12 12 | 
             
            authors: 
         | 
| 13 13 | 
             
            - matt robbins
         | 
| @@ -61,7 +61,7 @@ dependencies: | |
| 61 61 | 
             
                    segments: 
         | 
| 62 62 | 
             
                    - 0
         | 
| 63 63 | 
             
                    version: "0"
         | 
| 64 | 
            -
              name:  | 
| 64 | 
            +
              name: capybara-webkit
         | 
| 65 65 | 
             
              version_requirements: *id003
         | 
| 66 66 | 
             
              prerelease: false
         | 
| 67 67 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| @@ -75,7 +75,7 @@ dependencies: | |
| 75 75 | 
             
                    segments: 
         | 
| 76 76 | 
             
                    - 0
         | 
| 77 77 | 
             
                    version: "0"
         | 
| 78 | 
            -
              name:  | 
| 78 | 
            +
              name: json
         | 
| 79 79 | 
             
              version_requirements: *id004
         | 
| 80 80 | 
             
              prerelease: false
         | 
| 81 81 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| @@ -89,12 +89,40 @@ dependencies: | |
| 89 89 | 
             
                    segments: 
         | 
| 90 90 | 
             
                    - 0
         | 
| 91 91 | 
             
                    version: "0"
         | 
| 92 | 
            -
              name:  | 
| 92 | 
            +
              name: headless
         | 
| 93 93 | 
             
              version_requirements: *id005
         | 
| 94 94 | 
             
              prerelease: false
         | 
| 95 95 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 96 96 | 
             
              type: :runtime
         | 
| 97 97 | 
             
              requirement: &id006 !ruby/object:Gem::Requirement 
         | 
| 98 | 
            +
                none: false
         | 
| 99 | 
            +
                requirements: 
         | 
| 100 | 
            +
                - - ">="
         | 
| 101 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 102 | 
            +
                    hash: 3
         | 
| 103 | 
            +
                    segments: 
         | 
| 104 | 
            +
                    - 0
         | 
| 105 | 
            +
                    version: "0"
         | 
| 106 | 
            +
              name: capybara-celerity
         | 
| 107 | 
            +
              version_requirements: *id006
         | 
| 108 | 
            +
              prerelease: false
         | 
| 109 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 110 | 
            +
              type: :runtime
         | 
| 111 | 
            +
              requirement: &id007 !ruby/object:Gem::Requirement 
         | 
| 112 | 
            +
                none: false
         | 
| 113 | 
            +
                requirements: 
         | 
| 114 | 
            +
                - - ">="
         | 
| 115 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 116 | 
            +
                    hash: 3
         | 
| 117 | 
            +
                    segments: 
         | 
| 118 | 
            +
                    - 0
         | 
| 119 | 
            +
                    version: "0"
         | 
| 120 | 
            +
              name: w3c_validators
         | 
| 121 | 
            +
              version_requirements: *id007
         | 
| 122 | 
            +
              prerelease: false
         | 
| 123 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 124 | 
            +
              type: :runtime
         | 
| 125 | 
            +
              requirement: &id008 !ruby/object:Gem::Requirement 
         | 
| 98 126 | 
             
                none: false
         | 
| 99 127 | 
             
                requirements: 
         | 
| 100 128 | 
             
                - - ">="
         | 
| @@ -106,11 +134,11 @@ dependencies: | |
| 106 134 | 
             
                    - 5
         | 
| 107 135 | 
             
                    version: 0.10.5
         | 
| 108 136 | 
             
              name: cucumber
         | 
| 109 | 
            -
              version_requirements: * | 
| 137 | 
            +
              version_requirements: *id008
         | 
| 110 138 | 
             
              prerelease: false
         | 
| 111 139 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 112 140 | 
             
              type: :development
         | 
| 113 | 
            -
              requirement: & | 
| 141 | 
            +
              requirement: &id009 !ruby/object:Gem::Requirement 
         | 
| 114 142 | 
             
                none: false
         | 
| 115 143 | 
             
                requirements: 
         | 
| 116 144 | 
             
                - - ">="
         | 
| @@ -120,11 +148,11 @@ dependencies: | |
| 120 148 | 
             
                    - 0
         | 
| 121 149 | 
             
                    version: "0"
         | 
| 122 150 | 
             
              name: rake
         | 
| 123 | 
            -
              version_requirements: * | 
| 151 | 
            +
              version_requirements: *id009
         | 
| 124 152 | 
             
              prerelease: false
         | 
| 125 153 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 126 154 | 
             
              type: :development
         | 
| 127 | 
            -
              requirement: & | 
| 155 | 
            +
              requirement: &id010 !ruby/object:Gem::Requirement 
         | 
| 128 156 | 
             
                none: false
         | 
| 129 157 | 
             
                requirements: 
         | 
| 130 158 | 
             
                - - ">="
         | 
| @@ -136,7 +164,7 @@ dependencies: | |
| 136 164 | 
             
                    - 0
         | 
| 137 165 | 
             
                    version: 1.0.0
         | 
| 138 166 | 
             
              name: rspec
         | 
| 139 | 
            -
              version_requirements: * | 
| 167 | 
            +
              version_requirements: *id010
         | 
| 140 168 | 
             
              prerelease: false
         | 
| 141 169 | 
             
            description: Gem to ease the pain of managing capybara driver config and provide a home for common utils and patches
         | 
| 142 170 | 
             
            email: 
         |