splinter 0.2.0 → 0.2.1
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.
- checksums.yaml +4 -4
- data/README.markdown +37 -19
- data/lib/splinter/capybara/form_completer.rb +1 -1
- data/lib/splinter/perf/deferred_garbage_collection.rb +1 -1
- data/lib/splinter/version.rb +1 -1
- metadata +17 -16
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 8337d2353d44ecead65284212b4fc7a4519da06d
         | 
| 4 | 
            +
              data.tar.gz: e4df350ef3cc29910cc083a63deb8192df30c74d
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 5a1e5520d8b198b23a08e293a777c7c851f16411d2a6d294e0ca1675363beb4f07b9ac77ae16761b7979cd1351de3b38c6c3dca0c199186029289fc21653c262
         | 
| 7 | 
            +
              data.tar.gz: 551d36982c5c8a95b3009df19adfb5d7b867933d23a24814ab8dcf76107703da401081654c525744cd92e63e6c522315dbfa691668e82b0671dd7e04886b8702
         | 
    
        data/README.markdown
    CHANGED
    
    | @@ -8,17 +8,23 @@ Rails forms. | |
| 8 8 | 
             
            Bonus: Splinter also includes a few performance tweaks which can be used to
         | 
| 9 9 | 
             
            speed up test suites. These are opt-in.
         | 
| 10 10 |  | 
| 11 | 
            +
            Splinter has been tested on MRI 1.9.3, 2.0.0 and 2.1.3.
         | 
| 12 | 
            +
             | 
| 11 13 | 
             
            [Build Icon]: https://secure.travis-ci.org/site5/splinter.png?branch=master
         | 
| 12 14 | 
             
            [Build Status]: https://travis-ci.org/site5/splinter
         | 
| 13 15 |  | 
| 14 16 | 
             
            ## Installation
         | 
| 15 17 |  | 
| 16 | 
            -
             | 
| 17 | 
            -
             | 
| 18 | 
            +
            ```ruby
         | 
| 19 | 
            +
            gem 'splinter'
         | 
| 20 | 
            +
            bundle install
         | 
| 21 | 
            +
            ```
         | 
| 18 22 |  | 
| 19 23 | 
             
            Add to `spec_helper.rb`:
         | 
| 20 24 |  | 
| 21 | 
            -
             | 
| 25 | 
            +
            ```ruby
         | 
| 26 | 
            +
            require 'splinter/rspec'
         | 
| 27 | 
            +
            ```
         | 
| 22 28 |  | 
| 23 29 | 
             
            ## Performance Tweaks
         | 
| 24 30 |  | 
| @@ -27,19 +33,25 @@ can cause issues with transactional fixtures as ActiveRecord normally creates a | |
| 27 33 | 
             
            new connection per-thread. If you need to force ActiveRecord to share the
         | 
| 28 34 | 
             
            connection between threads, add the following to `spec_helper`:
         | 
| 29 35 |  | 
| 30 | 
            -
             | 
| 36 | 
            +
            ```ruby
         | 
| 37 | 
            +
            require 'splinter/rspec/shared_connection'
         | 
| 38 | 
            +
            ```
         | 
| 31 39 |  | 
| 32 40 | 
             
            While not technically related to Capybara, the following GC tweak can increase
         | 
| 33 41 | 
             
            run time by 10% or more in some suites. To enable it, add the following to
         | 
| 34 42 | 
             
            `spec_helper`:
         | 
| 35 43 |  | 
| 36 | 
            -
             | 
| 44 | 
            +
            ```ruby
         | 
| 45 | 
            +
            require 'splinter/rspec/deferred_garbage_collection'
         | 
| 46 | 
            +
            ```
         | 
| 37 47 |  | 
| 38 48 | 
             
            ## Screenshots
         | 
| 39 49 |  | 
| 40 50 | 
             
            To capture screenshots on failure, add the following to `spec_helper`:
         | 
| 41 51 |  | 
| 42 | 
            -
             | 
| 52 | 
            +
            ```ruby
         | 
| 53 | 
            +
            Splinter.screenshot_directory = "/path/to/screenshots"
         | 
| 54 | 
            +
            ```
         | 
| 43 55 |  | 
| 44 56 | 
             
            ## Date/Time/Datetime Helpers
         | 
| 45 57 |  | 
| @@ -47,11 +59,13 @@ These are mostly borrowed from [`Hermes::Actions`](http://git.io/bhLQqQ). | |
| 47 59 | 
             
            They're useful for completing the multiple dropdowns required for a
         | 
| 48 60 | 
             
            date/time/datetime field in a Rails form.
         | 
| 49 61 |  | 
| 50 | 
            -
             | 
| 51 | 
            -
             | 
| 62 | 
            +
            ```ruby
         | 
| 63 | 
            +
            # Select by CSS ID
         | 
| 64 | 
            +
            select_date Time.now, :id_prefix => :publish_at
         | 
| 52 65 |  | 
| 53 | 
            -
             | 
| 54 | 
            -
             | 
| 66 | 
            +
            # Select by label text, label must have for="id_prefix"
         | 
| 67 | 
            +
            select_date Time.now, :from => "Publish at"
         | 
| 68 | 
            +
            ```
         | 
| 55 69 |  | 
| 56 70 | 
             
            There are also `select_time`, and `select_datetime` variants with the same
         | 
| 57 71 | 
             
            usage.
         | 
| @@ -60,12 +74,14 @@ usage. | |
| 60 74 |  | 
| 61 75 | 
             
            Here's a little sugar to help complete Rails forms:
         | 
| 62 76 |  | 
| 63 | 
            -
             | 
| 64 | 
            -
             | 
| 65 | 
            -
             | 
| 66 | 
            -
             | 
| 67 | 
            -
             | 
| 68 | 
            -
             | 
| 77 | 
            +
            ```ruby
         | 
| 78 | 
            +
            complete_form :post do |f|
         | 
| 79 | 
            +
              f.text_field :name, "I like turtles!"
         | 
| 80 | 
            +
              f.date       :publish_at, 3.days.from_now
         | 
| 81 | 
            +
              f.select     :category, "Blog Posts"
         | 
| 82 | 
            +
              f.checkbox   :published, false
         | 
| 83 | 
            +
            end
         | 
| 84 | 
            +
            ```
         | 
| 69 85 |  | 
| 70 86 | 
             
            After the block is evaluated, the form is completed and submitted.
         | 
| 71 87 |  | 
| @@ -73,8 +89,10 @@ After the block is evaluated, the form is completed and submitted. | |
| 73 89 |  | 
| 74 90 | 
             
            You can use these helpers to confirm/cancel a javascript "confirm":
         | 
| 75 91 |  | 
| 76 | 
            -
             | 
| 77 | 
            -
             | 
| 92 | 
            +
            ```ruby
         | 
| 93 | 
            +
            javascript_confirm        { click_link "Destroy" }
         | 
| 94 | 
            +
            javascript_confirm(false) { click_link "Destroy" }
         | 
| 95 | 
            +
            ```
         | 
| 78 96 |  | 
| 79 97 | 
             
            ## Note on Patches/Pull Requests
         | 
| 80 98 |  | 
| @@ -88,4 +106,4 @@ You can use these helpers to confirm/cancel a javascript "confirm": | |
| 88 106 |  | 
| 89 107 | 
             
            ## Copyright
         | 
| 90 108 |  | 
| 91 | 
            -
            Copyright (c) 2012 Site5.com. See LICENSE for details.
         | 
| 109 | 
            +
            Copyright (c) 2012-2014 Site5.com. See LICENSE for details.
         | 
| @@ -39,7 +39,7 @@ module Splinter | |
| 39 39 | 
             
                    @page.send :select_datetime, value, { :id_prefix => "#{@base}_#{id}" }
         | 
| 40 40 | 
             
                  end
         | 
| 41 41 |  | 
| 42 | 
            -
                  def submit(selector = "//form[contains(@id,'#{@base}')] | 
| 42 | 
            +
                  def submit(selector = "//form[contains(@id,'#{@base}')]//*[@type='submit']")
         | 
| 43 43 | 
             
                    @page.send(:find, :xpath, selector).click
         | 
| 44 44 | 
             
                    @submitted = true
         | 
| 45 45 | 
             
                  end
         | 
| @@ -2,7 +2,7 @@ module Splinter | |
| 2 2 | 
             
              # Speed up specs by tweaking garbage collection
         | 
| 3 3 | 
             
              #
         | 
| 4 4 | 
             
              # See:
         | 
| 5 | 
            -
              #    | 
| 5 | 
            +
              #   https://signalvnoise.com/posts/2742-the-road-to-faster-tests and
         | 
| 6 6 | 
             
              #   https://makandracards.com/makandra/950-speed-up-rspec-by-deferring-garbage-collection
         | 
| 7 7 | 
             
              class DeferredGarbageCollection
         | 
| 8 8 |  | 
    
        data/lib/splinter/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,83 +1,83 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: splinter
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.2. | 
| 4 | 
            +
              version: 0.2.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Joshua Priddle
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2015-09-24 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: capybara
         | 
| 15 15 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 16 | 
             
                requirements:
         | 
| 17 | 
            -
                - - ~>
         | 
| 17 | 
            +
                - - "~>"
         | 
| 18 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 19 | 
             
                    version: '2.1'
         | 
| 20 20 | 
             
              type: :runtime
         | 
| 21 21 | 
             
              prerelease: false
         | 
| 22 22 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 23 | 
             
                requirements:
         | 
| 24 | 
            -
                - - ~>
         | 
| 24 | 
            +
                - - "~>"
         | 
| 25 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 26 | 
             
                    version: '2.1'
         | 
| 27 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 28 | 
             
              name: rspec
         | 
| 29 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 30 30 | 
             
                requirements:
         | 
| 31 | 
            -
                - - ~>
         | 
| 31 | 
            +
                - - "~>"
         | 
| 32 32 | 
             
                  - !ruby/object:Gem::Version
         | 
| 33 33 | 
             
                    version: 2.13.0
         | 
| 34 34 | 
             
              type: :development
         | 
| 35 35 | 
             
              prerelease: false
         | 
| 36 36 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 37 37 | 
             
                requirements:
         | 
| 38 | 
            -
                - - ~>
         | 
| 38 | 
            +
                - - "~>"
         | 
| 39 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| 40 40 | 
             
                    version: 2.13.0
         | 
| 41 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 42 42 | 
             
              name: sinatra
         | 
| 43 43 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 44 44 | 
             
                requirements:
         | 
| 45 | 
            -
                - - ~>
         | 
| 45 | 
            +
                - - "~>"
         | 
| 46 46 | 
             
                  - !ruby/object:Gem::Version
         | 
| 47 47 | 
             
                    version: 1.3.2
         | 
| 48 48 | 
             
              type: :development
         | 
| 49 49 | 
             
              prerelease: false
         | 
| 50 50 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 51 51 | 
             
                requirements:
         | 
| 52 | 
            -
                - - ~>
         | 
| 52 | 
            +
                - - "~>"
         | 
| 53 53 | 
             
                  - !ruby/object:Gem::Version
         | 
| 54 54 | 
             
                    version: 1.3.2
         | 
| 55 55 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 56 56 | 
             
              name: rake
         | 
| 57 57 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 58 58 | 
             
                requirements:
         | 
| 59 | 
            -
                - - ~>
         | 
| 59 | 
            +
                - - "~>"
         | 
| 60 60 | 
             
                  - !ruby/object:Gem::Version
         | 
| 61 61 | 
             
                    version: 0.9.2.2
         | 
| 62 62 | 
             
              type: :development
         | 
| 63 63 | 
             
              prerelease: false
         | 
| 64 64 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 65 65 | 
             
                requirements:
         | 
| 66 | 
            -
                - - ~>
         | 
| 66 | 
            +
                - - "~>"
         | 
| 67 67 | 
             
                  - !ruby/object:Gem::Version
         | 
| 68 68 | 
             
                    version: 0.9.2.2
         | 
| 69 69 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 70 70 | 
             
              name: rack-test
         | 
| 71 71 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 72 72 | 
             
                requirements:
         | 
| 73 | 
            -
                - - ~>
         | 
| 73 | 
            +
                - - "~>"
         | 
| 74 74 | 
             
                  - !ruby/object:Gem::Version
         | 
| 75 75 | 
             
                    version: 0.6.1
         | 
| 76 76 | 
             
              type: :development
         | 
| 77 77 | 
             
              prerelease: false
         | 
| 78 78 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 79 79 | 
             
                requirements:
         | 
| 80 | 
            -
                - - ~>
         | 
| 80 | 
            +
                - - "~>"
         | 
| 81 81 | 
             
                  - !ruby/object:Gem::Version
         | 
| 82 82 | 
             
                    version: 0.6.1
         | 
| 83 83 | 
             
            description: 
         | 
| @@ -109,23 +109,24 @@ licenses: | |
| 109 109 | 
             
            metadata: {}
         | 
| 110 110 | 
             
            post_install_message: 
         | 
| 111 111 | 
             
            rdoc_options:
         | 
| 112 | 
            -
            - --charset=UTF-8
         | 
| 112 | 
            +
            - "--charset=UTF-8"
         | 
| 113 113 | 
             
            require_paths:
         | 
| 114 114 | 
             
            - lib
         | 
| 115 115 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 116 116 | 
             
              requirements:
         | 
| 117 | 
            -
              - -  | 
| 117 | 
            +
              - - ">="
         | 
| 118 118 | 
             
                - !ruby/object:Gem::Version
         | 
| 119 119 | 
             
                  version: '0'
         | 
| 120 120 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 121 121 | 
             
              requirements:
         | 
| 122 | 
            -
              - -  | 
| 122 | 
            +
              - - ">="
         | 
| 123 123 | 
             
                - !ruby/object:Gem::Version
         | 
| 124 124 | 
             
                  version: '0'
         | 
| 125 125 | 
             
            requirements: []
         | 
| 126 126 | 
             
            rubyforge_project: 
         | 
| 127 | 
            -
            rubygems_version: 2. | 
| 127 | 
            +
            rubygems_version: 2.4.8
         | 
| 128 128 | 
             
            signing_key: 
         | 
| 129 129 | 
             
            specification_version: 4
         | 
| 130 130 | 
             
            summary: Splinter is a Capybara Ninja
         | 
| 131 131 | 
             
            test_files: []
         | 
| 132 | 
            +
            has_rdoc: 
         |