aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Calling `follow_redirect!` does not reset the `html_document`:Edouard CHIN2017-06-262-1/+13
| | | | | | | | | | | | | - When making a request to a controller that redirects, `follow_redirect!` would not reset the `html_document` ivar, it only resets the `html_document` ivar from the session (not the runner) - If one was doing something like this; ```ruby get '/redirect' assert_select 'you are being redirected' follow_redirect! # html_document is memoized and doesn't get reset ``` - To fix the issue we can do the same for any other methods (`get`, `post`...) and define a method in the runner that delegates to the session but clears the html_document_first - Fixes #29367
* Merge pull request #29561 from ↵Sean Griffin2017-06-241-1/+12
|\ | | | | | | | | samphippen/samphippen/add-option-to-silence-puma-in-system-test Add an option to silence puma in system tests.
| * Add an option to silence puma in system tests.Sam Phippen2017-06-241-1/+12
|/ | | | | | | | | | | | This is motivated by our usage of system test in RSpec. Puma lazily boots the first time a system test is used, but this causes some unfortunate output to appear in the middle of the user's green dots. An example of this can be seen in @derekprior's comment [here](https://github.com/rspec/rspec-rails/pull/1813#issuecomment-309252314). There are alternatives in RSpec where we attempt to intercept the puma boot and prevent the output from being made there, but that would involve some monkey patching. This seems like a cleaner solution.
* Merge pull request #29553 from eugeneius/wrap_parameters_nilKasper Timm Hansen2017-06-242-1/+9
|\ | | | | Don't wrap parameters if key already exists
| * Don't wrap parameters if key already existsEugene Kenny2017-06-242-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We shouldn't perform parameter wrapping if it would overwrite one of the parameters sent with the request, as that would interfere with reading the parameter directly from the top level `params` hash. The current implementation has logic for this case, but it doesn't handle `nil`/`false` values, which means these parameters: { "user" => nil } are transformed into this `params` hash: { "user" => { "user" => nil } } and `params["user"]` no longer returns the original parameter value.
* | Merge pull request #29549 from ↵Kasper Timm Hansen2017-06-241-2/+1
|\ \ | | | | | | | | | | | | Edouard-chin/integration-testing-deprecated-methods Removed reference to unexisting methods:
| * | Removed reference to unexisting methods:Edouard CHIN2017-06-231-2/+1
| |/ | | | | | | `get/post_via_redirect`, `xhr` and his alias `xml_http_request` were respectively removed in 092033d59f7e2b248f6c6ab6c0b67339c5e9f2df and eb52e5d42fbdc9288925a402dcb3c5664d1125b7
* | Merge pull request #29555 from ↵Ryuta Kamizono2017-06-241-1/+1
|\ \ | |/ |/| | | | | ybakos/guides_layouts_and_rendering_minus_leading_underscore Guides: Clarify partial local variable naming. [ci skip]
| * Guides: Clarify partial local variable naming.Yong Bakos2017-06-231-1/+1
|/ | | | | Clarify the partial local variable name as being the same as the name of the partial, minus the _leading_ underscore.
* Merge pull request #29544 from y-yagi/fix_ac_unfiltered_parameters_msgRyuta Kamizono2017-06-231-2/+2
|\ | | | | Fix typo in `AC::UnfilteredParameters` message [ci skip]
| * Fix typo in `AC::UnfilteredParameters` message [ci skip]yuuji.yaginuma2017-06-231-2/+2
|/ | | | Ref: https://github.com/rails/rails/blob/33b596709388cc48d90ab6d1de99d7bd6e85f916/actionpack/lib/action_controller/metal/strong_parameters.rb#L52..L56
* Merge pull request #29524 from ↵Eileen M. Uchitelle2017-06-222-8/+4
|\ | | | | | | | | y-yagi/do_not_use_private_api_in_bug_report_templates Do not use private API in bug report templates
| * Do not use private API in bug report templatesyuuji.yaginuma2017-06-222-8/+4
| | | | | | | | | | | | | | | | `ActiveRecord::Migrator` is private API. https://github.com/rails/rails/blob/bb9d6eb094f29bb94ef1f26aa44f145f17b973fe/activerecord/lib/active_record/migration.rb#L977 Therefore, it is not good to use it in bug report templates. Instead, should use the public API `ActiveRecord::Migration#migrate`.
* | Merge pull request #29529 from abraham-chan/fix-hash-conditions-documentationRyuta Kamizono2017-06-221-2/+0
|\ \ | | | | | | Fix hash conditions documentation
| * | Fix hash conditions documentation [ci skip]Abraham Chan2017-06-221-2/+0
| | |
* | | Merge pull request #29525 from y-yagi/fix_ruby_warningsKasper Timm Hansen2017-06-221-1/+1
|\ \ \ | |/ / |/| | Remove unused variable
| * | Remove unused variableyuuji.yaginuma2017-06-221-1/+1
|/ / | | | | | | | | | | | | | | This fixes the following warnings: ``` activerecord/test/cases/relation_test.rb:231: warning: assigned but unused variable - authors_with_commented_posts ```
* | Merge pull request #29513 from kirs/fixture-yaml-fallbackRafael França2017-06-211-5/+4
|\ \ | | | | | | Avoid begin/rescue in fixture quoting
| * | Avoid begin/rescue in fixture quotingKir Shatrov2017-06-201-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Scalar values like arrays and hashes can't be inserted directly into table. Previously, the way to determine if the value is scalar was to try quoting it. If `quote` raised with an error than the value has to be converted to YAML. This flow is not very obvious. Ideally we could have a `quotable?` method in the connection, but I think that we can avoid begin/rescue block by simply checking if the value is Array or Hash. https://github.com/rails/rails/commit/aa31d21f5f4fc4d679e74a60f9df9706da7de373
* | | Merge pull request #27063 from MaxLap/merge_keep_inner_joinRafael França2017-06-213-5/+40
|\ \ \ | |/ / |/| | Keep INNER JOIN when merging relations
| * | Keep INNER JOIN when merging relationsMaxime Lapointe2017-06-203-5/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Doing `Author.joins(:posts).merge(Post.joins(:comments))` does this `SELECT ... INNER JOIN posts ON... LEFT OUTER JOIN comments ON...` instead of doing `SELECT ... INNER JOIN posts ON... INNER JOIN comments ON...`. This behavior is unexpected and makes little sense as, basically, doing `Post.joins(:comments)` means I want posts that have comments. Turning it to a LEFT JOIN means I want posts and join the comments data, if any. We can see this problem directly in the existing tests. The test_relation_merging_with_merged_joins_as_symbols only does joins from posts to comments to ratings while the ratings fixture isn't loaded, but the count is non-zero.
* | | Fix call-seq typo s/==/<=>/ [ci skip]Ryuta Kamizono2017-06-211-1/+1
|/ / | | | | | | Fixes #29512.
* | Merge pull request #28914 from bogdanvlviv/fix-touch-with-optimistic-lockingRafael França2017-06-204-3/+33
|\ \ | | | | | | Fix ActiveRecord::Persistence#touch with locking
| * | Fix ActiveRecord::Persistence#touch with lockingbogdanvlviv2017-06-214-3/+33
|/ / | | | | | | | | | | `ActiveRecord::Persistence#touch` does not work well when optimistic locking enabled and `locking_column`, without default value, is null in the database.
* | Merge pull request #28926 from ↵Rafael França2017-06-203-1/+31
|\ \ | | | | | | | | | | | | bogdanvlviv/fix-destroy-with-locking_column-value-null Fix destroy with locking_column value null
| * | Fix destroy with locking_column value nullbogdanvlviv2017-06-203-1/+31
|/ / | | | | | | | | | | | | Fix destroying existing object does not work well when optimistic locking enabled and `locking column` is null in the database. Follow 22a822e5813ef7ea9ab6dbbb670a363899a083af, #28914
* | Merge pull request #29510 from padi/minor_docs_updateRafael França2017-06-202-1/+3
|\ \ | | | | | | Updates README on rails internal dev tools
| * | Adds missing minor doc about tools/test.rb [ci skip]Marc Ignacio2017-06-212-1/+3
| | | | | | | | | | | | ... and minor typo fix
* | | Merge pull request #29504 from kirs/fixtures-arel-bulkRafael França2017-06-209-11/+117
|\ \ \ | | | | | | | | Use bulk INSERT to insert fixtures
| * | | Use bulk INSERT to insert fixturesKir Shatrov2017-06-209-11/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improves the performance from O(n) to O(1). Previously it would require 50 queries to insert 50 fixtures. Now it takes only one query. Disabled on sqlite which doesn't support multiple inserts.
* | | | Shrink image files in the guides using ImageOptimAkira Matsuda2017-06-2139-0/+0
| |/ / |/| |
* | | Merge pull request #29503 from savroff/fix_current_page_engine_issueRafael França2017-06-203-4/+23
|\ \ \ | | | | | | | | Fix current_page? helper issue with engine root path
| * | | Add changes to CHANGELOGsavroff2017-06-191-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | fix fix
| * | | Fix current_page? helper issue with engine root pathsavroff2017-06-192-4/+17
| | | |
* | | | Merge pull request #28833 from bogdanvlviv/add-test-cases-for-optimistic-lockingRafael França2017-06-202-3/+23
|\ \ \ \ | | | | | | | | | | Add test cases for optimistic locking
| * | | | Clean up 'Optimistic Locking' implementationbogdanvlviv2017-06-121-3/+4
| | | | |
| * | | | Add test cases for optimistic lockingbogdanvlviv2017-06-121-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add test to ensure that locking_column cannot be updated explicitly. Add test to prevent regression on creating new object with explicit value locking_column. Related to #28318
* | | | | [ci skip] Fixed the attribute name for event.detailPrathamesh Sonpatki2017-06-201-3/+3
| | | | |
* | | | | Merge pull request #29505 from utilum/assert_nilRafael França2017-06-202-2/+2
|\ \ \ \ \ | |_|_|/ / |/| | | | prepare for Minitest 6
| * | | | prepare for Minitest 6utilum2017-06-202-2/+2
|/ / / /
* | | | Merge pull request #27990 from leonelgalan/bug/filtered_parameters_classRafael França2017-06-193-2/+15
|\ \ \ \ | |_|_|/ |/| | | Use of ParameterFilter no longer forces `request.filtered_parameters' class to be Hash
| * | | Merge branch 'master' into bug/filtered_parameters_classLeonel Galán2017-06-16462-3743/+5112
| |\ \ \
| * \ \ \ Merge branch 'master' into bug/filtered_parameters_classLeonel Galán2017-05-17174-874/+1495
| |\ \ \ \
| * \ \ \ \ Merge branch 'master' into bug/filtered_parameters_classLeonel Galán2017-04-25182-823/+2143
| |\ \ \ \ \
| * \ \ \ \ \ Merge branch 'master' into bug/filtered_parameters_classLeonel Galán2017-04-03498-5491/+9151
| |\ \ \ \ \ \
| * | | | | | | Fixes CodeClimate warningsLeonel Galan2017-02-131-2/+2
| | | | | | | |
| * | | | | | | Use of ParameterFilter no longer forces `request.filtered_parameters' class ↵Leonel Galan2017-02-133-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to be Hash - Fixes issue described on #27944 - `filtered_query_string` used an Array representation of what semantically is a key value pair: better suited for a Hash. Without this change `filtered_params = original_params.class.new` returns an Array with unintended consequences.
* | | | | | | | Merge pull request #29485 from tjschuck/nodoc_ac_conn_websocketRafael França2017-06-191-1/+1
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | nodoc AC::Connection::WebSocket
| * | | | | | | | nodoc AC::Connection::WebSocketT.J. Schuck2017-06-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Users should never publicly be interacting with an instance of this. The instance that comes along with an `AC::Connection::Base` instance (the only thing a user should be working with) is [itself intended to be private](https://github.com/tjschuck/rails/blob/master/actioncable/lib/action_cable/connection/base.rb#L137-L140). [ci skip]
* | | | | | | | | Merge pull request #29454 from kamipo/fix_exists_queries_with_cacheRafael França2017-06-193-51/+46
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Fix `Relation#exists?` queries with query cache