actionpack 5.1.1 → 5.1.2.rc1
Sign up to get free protection for your applications and to get access to all the features.
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:
|