actionpack 5.1.1 → 5.1.2.rc1
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.
Potentially problematic release.
This version of actionpack might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +19 -0
- data/lib/abstract_controller/translation.rb +1 -1
- data/lib/action_dispatch/http/filter_parameters.rb +1 -1
- data/lib/action_dispatch/http/parameter_filter.rb +1 -1
- data/lib/action_dispatch/http/upload.rb +6 -2
- data/lib/action_dispatch/system_test_case.rb +6 -2
- data/lib/action_dispatch/system_testing/driver.rb +24 -5
- data/lib/action_dispatch/system_testing/test_helpers/setup_and_teardown.rb +6 -1
- data/lib/action_pack/gem_version.rb +2 -2
- metadata +11 -12
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 10467f388931246ef3053f875b8c44ebd935da97
         | 
| 4 | 
            +
              data.tar.gz: 45206486f362d56ae7faae72f28a596ca92889bb
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 4986c5b6e6db28ce0178e992abdd1f03bb1bb6ee336911e7624631c3ec77f6e8a38f1a981f00086d8d6b0e81ca8be09988cfcd532dbd0a6b574d67aebaa870a5
         | 
| 7 | 
            +
              data.tar.gz: 49416affd8c28220583f72787643b9aaa663ca9f37036a21eceecf73cfe38e56ed50bf7aa7e20e635633cf3ac61113965f4c92d4d9befb37e6a07a2559dfba37
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,3 +1,22 @@ | |
| 1 | 
            +
            ## Rails 5.1.2.rc1 (June 20, 2017) ##
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            *   `driven_by` now registers poltergeist and capybara-webkit
         | 
| 4 | 
            +
             | 
| 5 | 
            +
                If driver poltergeist or capybara-webkit is set for System Tests,
         | 
| 6 | 
            +
                `driven_by` will register the driver and set additional options passed via
         | 
| 7 | 
            +
                `:options` param.
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                Refer to drivers documentation to learn what options can be passed.
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                *Mario Chavez*
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            *   AEAD encrypted cookies and sessions with GCM
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            ## Rails 5.1.1 (May 12, 2017) ##
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            *   No changes.
         | 
| 18 | 
            +
             | 
| 19 | 
            +
             | 
| 1 20 | 
             
            ## Rails 5.1.0 (April 27, 2017) ##
         | 
| 2 21 |  | 
| 3 22 | 
             
            *   Raise exception when calling `to_h` and `to_hash` in an unpermitted Parameters.
         | 
| @@ -13,7 +13,7 @@ module AbstractController | |
| 13 13 | 
             
                    path = controller_path.tr("/", ".")
         | 
| 14 14 | 
             
                    defaults = [:"#{path}#{key}"]
         | 
| 15 15 | 
             
                    defaults << options[:default] if options[:default]
         | 
| 16 | 
            -
                    options[:default] = defaults
         | 
| 16 | 
            +
                    options[:default] = defaults.flatten
         | 
| 17 17 | 
             
                    key = "#{path}.#{action_name}#{key}"
         | 
| 18 18 | 
             
                  end
         | 
| 19 19 | 
             
                  I18n.translate(key, options)
         | 
| @@ -74,7 +74,7 @@ module ActionDispatch | |
| 74 74 | 
             
                  PAIR_RE = %r{(#{KV_RE})=(#{KV_RE})}
         | 
| 75 75 | 
             
                  def filtered_query_string # :doc:
         | 
| 76 76 | 
             
                    query_string.gsub(PAIR_RE) do |_|
         | 
| 77 | 
            -
                      parameter_filter.filter( | 
| 77 | 
            +
                      parameter_filter.filter($1 => $2).first.join("=")
         | 
| 78 78 | 
             
                    end
         | 
| 79 79 | 
             
                  end
         | 
| 80 80 | 
             
                end
         | 
| @@ -27,14 +27,18 @@ module ActionDispatch | |
| 27 27 | 
             
                    @tempfile = hash[:tempfile]
         | 
| 28 28 | 
             
                    raise(ArgumentError, ":tempfile is required") unless @tempfile
         | 
| 29 29 |  | 
| 30 | 
            -
                     | 
| 31 | 
            -
             | 
| 30 | 
            +
                    if hash[:filename]
         | 
| 31 | 
            +
                      @original_filename = hash[:filename].dup
         | 
| 32 | 
            +
             | 
| 32 33 | 
             
                      begin
         | 
| 33 34 | 
             
                        @original_filename.encode!(Encoding::UTF_8)
         | 
| 34 35 | 
             
                      rescue EncodingError
         | 
| 35 36 | 
             
                        @original_filename.force_encoding(Encoding::UTF_8)
         | 
| 36 37 | 
             
                      end
         | 
| 38 | 
            +
                    else
         | 
| 39 | 
            +
                      @original_filename = nil
         | 
| 37 40 | 
             
                    end
         | 
| 41 | 
            +
             | 
| 38 42 | 
             
                    @content_type      = hash[:type]
         | 
| 39 43 | 
             
                    @headers           = hash[:head]
         | 
| 40 44 | 
             
                  end
         | 
| @@ -67,13 +67,17 @@ module ActionDispatch | |
| 67 67 | 
             
              # To use a headless driver, like Poltergeist, update your Gemfile to use
         | 
| 68 68 | 
             
              # Poltergeist instead of Selenium and then declare the driver name in the
         | 
| 69 69 | 
             
              # +application_system_test_case.rb+ file. In this case you would leave out the +:using+
         | 
| 70 | 
            -
              # option because the driver is headless | 
| 70 | 
            +
              # option because the driver is headless, but you can still use
         | 
| 71 | 
            +
              # +:screen_size+ to change the size of the browser screen, also you can use
         | 
| 72 | 
            +
              # +:options+ to pass options supported by the driver. Please refeer to your
         | 
| 73 | 
            +
              # driver documentation to learn about supported options.
         | 
| 71 74 | 
             
              #
         | 
| 72 75 | 
             
              #   require "test_helper"
         | 
| 73 76 | 
             
              #   require "capybara/poltergeist"
         | 
| 74 77 | 
             
              #
         | 
| 75 78 | 
             
              #   class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
         | 
| 76 | 
            -
              #     driven_by :poltergeist
         | 
| 79 | 
            +
              #     driven_by :poltergeist, screen_size: [1400, 1400], options:
         | 
| 80 | 
            +
              #     { js_errors: true }
         | 
| 77 81 | 
             
              #   end
         | 
| 78 82 | 
             
              #
         | 
| 79 83 | 
             
              # Because <tt>ActionDispatch::SystemTestCase</tt> is a shim between Capybara
         | 
| @@ -9,23 +9,42 @@ module ActionDispatch | |
| 9 9 | 
             
                  end
         | 
| 10 10 |  | 
| 11 11 | 
             
                  def use
         | 
| 12 | 
            -
                    register  | 
| 12 | 
            +
                    register unless rack_test?
         | 
| 13 | 
            +
             | 
| 13 14 | 
             
                    setup
         | 
| 14 15 | 
             
                  end
         | 
| 15 16 |  | 
| 16 17 | 
             
                  private
         | 
| 17 | 
            -
                    def  | 
| 18 | 
            -
                      @name == : | 
| 18 | 
            +
                    def rack_test?
         | 
| 19 | 
            +
                      @name == :rack_test
         | 
| 19 20 | 
             
                    end
         | 
| 20 21 |  | 
| 21 22 | 
             
                    def register
         | 
| 22 23 | 
             
                      Capybara.register_driver @name do |app|
         | 
| 23 | 
            -
                         | 
| 24 | 
            -
             | 
| 24 | 
            +
                        case @name
         | 
| 25 | 
            +
                        when :selenium then register_selenium(app)
         | 
| 26 | 
            +
                        when :poltergeist then register_poltergeist(app)
         | 
| 27 | 
            +
                        when :webkit then register_webkit(app)
         | 
| 25 28 | 
             
                        end
         | 
| 26 29 | 
             
                      end
         | 
| 27 30 | 
             
                    end
         | 
| 28 31 |  | 
| 32 | 
            +
                    def register_selenium(app)
         | 
| 33 | 
            +
                      Capybara::Selenium::Driver.new(app, { browser: @browser }.merge(@options)).tap do |driver|
         | 
| 34 | 
            +
                        driver.browser.manage.window.size = Selenium::WebDriver::Dimension.new(*@screen_size)
         | 
| 35 | 
            +
                      end
         | 
| 36 | 
            +
                    end
         | 
| 37 | 
            +
             | 
| 38 | 
            +
                    def register_poltergeist(app)
         | 
| 39 | 
            +
                      Capybara::Poltergeist::Driver.new(app, @options.merge(window_size: @screen_size))
         | 
| 40 | 
            +
                    end
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                    def register_webkit(app)
         | 
| 43 | 
            +
                      Capybara::Webkit::Driver.new(app, Capybara::Webkit::Configuration.to_hash.merge(@options)).tap do |driver|
         | 
| 44 | 
            +
                        driver.resize_window(*@screen_size)
         | 
| 45 | 
            +
                      end
         | 
| 46 | 
            +
                    end
         | 
| 47 | 
            +
             | 
| 29 48 | 
             
                    def setup
         | 
| 30 49 | 
             
                      Capybara.current_driver = @name
         | 
| 31 50 | 
             
                    end
         | 
| @@ -2,7 +2,12 @@ module ActionDispatch | |
| 2 2 | 
             
              module SystemTesting
         | 
| 3 3 | 
             
                module TestHelpers
         | 
| 4 4 | 
             
                  module SetupAndTeardown # :nodoc:
         | 
| 5 | 
            -
                    DEFAULT_HOST = "127.0.0.1"
         | 
| 5 | 
            +
                    DEFAULT_HOST = "http://127.0.0.1"
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                    def host!(host)
         | 
| 8 | 
            +
                      super
         | 
| 9 | 
            +
                      Capybara.app_host = host
         | 
| 10 | 
            +
                    end
         | 
| 6 11 |  | 
| 7 12 | 
             
                    def before_setup
         | 
| 8 13 | 
             
                      host! DEFAULT_HOST
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: actionpack
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 5.1. | 
| 4 | 
            +
              version: 5.1.2.rc1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - David Heinemeier Hansson
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2017- | 
| 11 | 
            +
            date: 2017-06-20 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: activesupport
         | 
| @@ -16,14 +16,14 @@ dependencies: | |
| 16 16 | 
             
                requirements:
         | 
| 17 17 | 
             
                - - '='
         | 
| 18 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version: 5.1. | 
| 19 | 
            +
                    version: 5.1.2.rc1
         | 
| 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 | 
            -
                    version: 5.1. | 
| 26 | 
            +
                    version: 5.1.2.rc1
         | 
| 27 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 28 | 
             
              name: rack
         | 
| 29 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -92,28 +92,28 @@ dependencies: | |
| 92 92 | 
             
                requirements:
         | 
| 93 93 | 
             
                - - '='
         | 
| 94 94 | 
             
                  - !ruby/object:Gem::Version
         | 
| 95 | 
            -
                    version: 5.1. | 
| 95 | 
            +
                    version: 5.1.2.rc1
         | 
| 96 96 | 
             
              type: :runtime
         | 
| 97 97 | 
             
              prerelease: false
         | 
| 98 98 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 99 99 | 
             
                requirements:
         | 
| 100 100 | 
             
                - - '='
         | 
| 101 101 | 
             
                  - !ruby/object:Gem::Version
         | 
| 102 | 
            -
                    version: 5.1. | 
| 102 | 
            +
                    version: 5.1.2.rc1
         | 
| 103 103 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 104 104 | 
             
              name: activemodel
         | 
| 105 105 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 106 106 | 
             
                requirements:
         | 
| 107 107 | 
             
                - - '='
         | 
| 108 108 | 
             
                  - !ruby/object:Gem::Version
         | 
| 109 | 
            -
                    version: 5.1. | 
| 109 | 
            +
                    version: 5.1.2.rc1
         | 
| 110 110 | 
             
              type: :development
         | 
| 111 111 | 
             
              prerelease: false
         | 
| 112 112 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 113 113 | 
             
                requirements:
         | 
| 114 114 | 
             
                - - '='
         | 
| 115 115 | 
             
                  - !ruby/object:Gem::Version
         | 
| 116 | 
            -
                    version: 5.1. | 
| 116 | 
            +
                    version: 5.1.2.rc1
         | 
| 117 117 | 
             
            description: Web apps on Rails. Simple, battle-tested conventions for building and
         | 
| 118 118 | 
             
              testing MVC web applications. Works with any Rack-compatible server.
         | 
| 119 119 | 
             
            email: david@loudthinking.com
         | 
| @@ -298,15 +298,14 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 298 298 | 
             
                  version: 2.2.2
         | 
| 299 299 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 300 300 | 
             
              requirements:
         | 
| 301 | 
            -
              - - " | 
| 301 | 
            +
              - - ">"
         | 
| 302 302 | 
             
                - !ruby/object:Gem::Version
         | 
| 303 | 
            -
                  version:  | 
| 303 | 
            +
                  version: 1.3.1
         | 
| 304 304 | 
             
            requirements:
         | 
| 305 305 | 
             
            - none
         | 
| 306 306 | 
             
            rubyforge_project: 
         | 
| 307 | 
            -
            rubygems_version: 2.6. | 
| 307 | 
            +
            rubygems_version: 2.6.12
         | 
| 308 308 | 
             
            signing_key: 
         | 
| 309 309 | 
             
            specification_version: 4
         | 
| 310 310 | 
             
            summary: Web-flow and rendering framework putting the VC in MVC (part of Rails).
         | 
| 311 311 | 
             
            test_files: []
         | 
| 312 | 
            -
            has_rdoc: 
         |