aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Relax version locking of the selenium-webdriverRyuta Kamizono2019-01-302-4/+4
| | | | 3.5.2 (September 07, 2017) is a little older.
* Add `require "selenium/webdriver"` to all using `DrivenBySeleniumWith*` classesRyuta Kamizono2019-01-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | https://travis-ci.org/rails/rails/jobs/486285170#L1349-L1366 ``` % git grep -n DrivenBySeleniumWith test/abstract_unit.rb:374:class DrivenBySeleniumWithChrome < ActionDispatch::SystemTestCase test/abstract_unit.rb:378:class DrivenBySeleniumWithHeadlessChrome < ActionDispatch::SystemTestCase test/abstract_unit.rb:382:class DrivenBySeleniumWithHeadlessFirefox < ActionDispatch::SystemTestCase test/dispatch/system_testing/screenshot_helper_test.rb:10: new_test = DrivenBySeleniumWithChrome.new("x") test/dispatch/system_testing/screenshot_helper_test.rb:18: new_test = DrivenBySeleniumWithChrome.new("x") test/dispatch/system_testing/screenshot_helper_test.rb:28: new_test = DrivenBySeleniumWithChrome.new("x") test/dispatch/system_testing/screenshot_helper_test.rb:40: new_test = DrivenBySeleniumWithChrome.new("x") test/dispatch/system_testing/screenshot_helper_test.rb:48: new_test = DrivenBySeleniumWithChrome.new("x") test/dispatch/system_testing/screenshot_helper_test.rb:62: new_test = DrivenBySeleniumWithChrome.new("x") test/dispatch/system_testing/screenshot_helper_test.rb:76:class SeleniumScreenshotsTest < DrivenBySeleniumWithChrome test/dispatch/system_testing/system_test_case_test.rb:11:class OverrideSeleniumSubclassToRackTestTest < DrivenBySeleniumWithChrome test/dispatch/system_testing/system_test_case_test.rb:19:class SetDriverToSeleniumTest < DrivenBySeleniumWithChrome test/dispatch/system_testing/system_test_case_test.rb:25:class SetDriverToSeleniumHeadlessChromeTest < DrivenBySeleniumWithHeadlessChrome test/dispatch/system_testing/system_test_case_test.rb:31:class SetDriverToSeleniumHeadlessFirefoxTest < DrivenBySeleniumWithHeadlessFirefox test/dispatch/system_testing/system_test_case_test.rb:49:class UndefMethodsTest < DrivenBySeleniumWithChrome ```
* selenium-webdriver is not always required for system testingRyuta Kamizono2019-01-302-4/+3
| | | | | | But `NameError: uninitialized constant ActionDispatch::SystemTesting::Browser::Selenium` is pretty confused. I've little improved missing constant error to `NameError: uninitialized constant Selenium`.
* Fix system testing failureRyuta Kamizono2019-01-302-8/+13
| | | | https://travis-ci.org/rails/rails/jobs/486155626#L1317-L1335
* Merge pull request #35092 from utilum/update_sneakers_to_latest_versionRyuta Kamizono2019-01-301-5/+6
|\ | | | | Update Sneakers to the latest version
| * Update Sneakers to the latest versionutilum2019-01-291-5/+9
| | | | | | | | | | Sneakers 2.11.0 has a more recent Bunny dependency which squashes some Ruby 2.6 warnings tickled by ActiveJob tests.
* | Merge pull request #35094 from palkan/feature/action-cable-load-hooksGeorge Claghorn2019-01-294-0/+19
|\ \ | | | | | | Add ActionCable channel/connection load hooks
| * | Add ActionCable channel/connection load hooksVladimir Dementyev2019-01-294-0/+19
|/ /
* | Merge pull request #35081 from eileencodes/ec-driver-option-updatedEileen M. Uchitelle2019-01-298-17/+132
|\ \ | |/ |/| [UPDATED] Implement a way to add browser capabilities
| * Rename methods and update docsEileen Uchitelle2019-01-295-25/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a minor update to the named methods for the following: - s/desired_capabilities/capabilities - s/driver_options/capabilities Since they are all the same thing we should keep the name the same throughout the feature. Updated docs to match / be a little bit clearer Also updated the Gemfile for selenium-webdriver.
| * driver_option -> driver_optionsEdouard CHIN2019-01-293-8/+9
| |
| * Implement a way to add browser capabilities:Edouard CHIN2019-01-298-11/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * There is currently no way to define specific browser capabilities since our SystemTest driver override the `option` key [Ref](https://github.com/rails/rails/blob/a07d0680787ced3c04b362fa7a238c918211ac70/actionpack/lib/action_dispatch/system_testing/driver.rb#L35) This option key is used internally by selenium to add custom capabilities on the browser. Depending on the Browser, some option are allowed to be passed inside a hash, the driver takes care of setting whatever you passed on the driver option. An example [here](https://github.com/rails/rails/blob/a07d0680787ced3c04b362fa7a238c918211ac70/actionpack/lib/action_dispatch/system_testing/driver.rb#L35) where you are allowed to pass args such as `--no-sandbox` etc However this behavior was only meant for backward compatibility and as you can see it's deprecated. The non-deprecated behavior is to create a `<Driver>::Option` object containing all the capabilities we want. This is what we [currently do](https://github.com/rails/rails/blob/a07d0680787ced3c04b362fa7a238c918211ac70/actionpack/lib/action_dispatch/system_testing/browser.rb#L34-L36) when chrome or firefox are in headless mode. This PR allows to pass a block when calling `driven_by`, the block will be pased a `<Driver>::Option` instance. You can modify this object the way you want by adding any capabilities. The option object will be then passed to selenium. ```ruby driven_by :selenium, using: :chrome do |driver_option| driver_option.add_argument('--no-sandbox') driver_option.add_emulation(device: 'iphone 4') end ```
* | Merge pull request #35083 from alkesh26/activejob-typo-fixesRyuta Kamizono2019-01-302-2/+2
|\ \ | | | | | | Activejob typo fixes.
| * | activejob typo fixes.alkesh262019-01-292-2/+2
|/ /
* | Merge pull request #35071 from kamipo/text_without_limitRyuta Kamizono2019-01-2911-23/+65
|\ \ | | | | | | MySQL: Support `:size` option to change text and blob size
| * | Allow changing text and blob size without giving the `limit` optionRyuta Kamizono2019-01-2911-23/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In MySQL, the text column size is 65,535 bytes by default (1 GiB in PostgreSQL). It is sometimes too short when people want to use a text column, so they sometimes change the text size to mediumtext (16 MiB) or longtext (4 GiB) by giving the `limit` option. Unlike MySQL, PostgreSQL doesn't allow the `limit` option for a text column (raises ERROR: type modifier is not allowed for type "text"). So `limit: 4294967295` (longtext) couldn't be used in Action Text. I've allowed changing text and blob size without giving the `limit` option, it prevents that migration failure on PostgreSQL.
* | | Merge pull request #35078 from carlosramireziii/patch-1Ryuta Kamizono2019-01-291-1/+1
|\ \ \ | | | | | | | | | | | | | | | | Fix usage documentation in VideoAnalyzer [ci skip]
| * | | Fix usage documentation in VideoAnalyzerCarlos Ramirez III2019-01-281-1/+1
|/ / / | | | | | | The code snippet within the usage documentation comment used the wrong object namespace for the ActiveStorage::Analyzer::VideoAnalyzer
* | | Merge pull request #35067 from vnbrs/patch-1Rafael França2019-01-281-1/+1
|\ \ \ | | | | | | | | Add line break to Action Text installation outputs
| * | | Add line break to Action Text installation outputsVinicius Brasil2019-01-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Action Text installations appends `require("trix")` to the application.js file. The problem is that there isn't a line break in the beginning of the installation output, leading to syntax errors, e.g.: ``` import './application.scss'require("trix") ``` This commit moves the line break from the end to the beginning of the output, fixing it to: ``` import './application.scss' require("trix") ```
* | | | Merge pull request #35076 from rails/more-ro-objectsAaron Patterson2019-01-287-58/+79
|\ \ \ \ | |_|/ / |/| | | More Read-Only Changes
| * | | Remove `with_layout_format` delegationAaron Patterson2019-01-281-1/+1
| | | | | | | | | | | | | | | | | | | | That method doesn't exist on LookupContext, so the delegate doesn't make sense.
| * | | Cache the digest path on the stack.Aaron Patterson2019-01-281-7/+5
| | | | | | | | | | | | | | | | We can remove the ivar by caching the digest on the stack
| * | | Pull `@template` in to a local variableAaron Patterson2019-01-284-27/+26
| | | | | | | | | | | | | | | | | | | | | | | | This gets the PartialRenderer to be a bit closer to the TemplateRenderer. TemplateRenderer already keeps its template in a local variable.
| * | | Remove default parameters from method signatureAaron Patterson2019-01-281-4/+2
| | | | | | | | | | | | | | | | This method is private, and we always pass something in.
| * | | Remove `@view` instance variable from the partial rendererAaron Patterson2019-01-283-27/+26
| | | | | | | | | | | | | | | | Similar to 1853b0d0abf87dfdd4c3a277c3badb17ca19652e
| * | | Remove `find_template` and `find_file` delegate methodsAaron Patterson2019-01-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reduces the surface area of our API and removes a Liskov issue. Both TemplateRenderer and PartialRenderer inherit from AbstractRenderer, but since PartialRenderer implements it's own `find_template` that is private, and has the wrong method signature, an instance of PartialRenderer cannot be substituted for an instance of AbstractRenderer renderer. Removing the superclass implementation solves both issues.
| * | | Deprecate `with_fallbacks` using a blockAaron Patterson2019-01-283-15/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch changes `with_fallbacks` to be a factory method that returns a new instance of a lookup context which contains the fallback view paths in addition to the controller specific view paths. Since the lookup context is more "read only", we may be able to cache them
* | | | Revert "Apply `t.timestamps` changes in Action Text and Action Mailbox"Ryuta Kamizono2019-01-294-2/+7
|/ / / | | | | | | | | | This reverts commit 30f666f87ab873258b797b39f29cf852f7621bea.
* | | Merge pull request #35074 from rails/ro-lookup-contextAaron Patterson2019-01-283-25/+27
|\ \ \ | | | | | | | | Make the lookup context more "read-only"
| * | | Make `@view_paths` on the lookup context mostly read-onlyAaron Patterson2019-01-282-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | The `with_fallbacks` method will temporarily mutate the lookup context instance, but nobody can call the setter, and we don't have to do a push / pop dance.
| * | | Remove method named "hash"Aaron Patterson2019-01-282-8/+10
| | |/ | |/| | | | | | | | | | | | | We can't use the FixtureResolver as a hash key because it doesn't implement `hash` correctly. This commit renames the method to "data" (which is just as unfortunately named :( )
* | | Merge pull request #35062 from larskanis/native-timestampsAaron Patterson2019-01-282-3/+33
|\ \ \ | | | | | | | | PostgreSQL: Use native timestamp decoders of pg-1.1
| * | | PostgreSQL: Use native timestamp decoders of pg-1.1Lars Kanis2019-01-262-3/+33
| | | | | | | | | | | | | | | | | | | | This improves performance of timestamp conversion and avoids additional string allocations.
* | | | Apply `t.timestamps` changes in Action Text and Action MailboxRyuta Kamizono2019-01-294-7/+2
| |/ / |/| | | | | | | | Follow up #34956.
* | | Merge pull request #35030 from ↵Rafael França2019-01-282-2/+2
|\ \ \ | | | | | | | | | | | | | | | | alkesh26/actionpack-long-string-indentation-and-typo-fix Actionpack typo fixes.
| * | | Typo fixes action pack.alkesh262019-01-262-2/+2
| | | |
* | | | Add CHANGELOG entries for npm package renames [ci skip]Javan Makhmali2019-01-283-0/+18
| |_|/ |/| |
* | | Convert path to string before call `length`yuuji.yaginuma2019-01-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Because eager load paths support to using `Pathname`, and `Pathname` doesn't have `length` method. Ref: https://travis-ci.org/rails/rails/jobs/485088071#L5140-L5143 Follow up aadeed1518b9092ea21adf49c728172368129f0e.
* | | Simplify path prefix extractionXavier Noria2019-01-271-2/+3
| |/ |/|
* | Fix a tiny typo [ci skip]Robin Dupret2019-01-261-1/+1
| | | | | | | | Follow-up to #35055.
* | Merge pull request #34970 from kamipo/timestamps_with_precision_by_defaultRyuta Kamizono2019-01-2614-75/+206
|\ \ | | | | | | Make `t.timestamps` with precision by default.
| * | Make `t.timestamps` with precision by defaultRyuta Kamizono2019-01-2614-75/+206
| | |
* | | Merge pull request #35057 from javan/actiontext/blob-embeds-onlyJavan Makhmali2019-01-262-1/+10
|\ \ \ | |/ / |/| | Fix error saving Action Text content containing non-blob attachables
| * | Fix error saving Action Text content containing non-blob attachablesJavan Makhmali2019-01-252-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Failing test before the ActionText::RichText change: ``` Error: ActionText::ModelTest#test_embed_extraction_only_extracts_file_attachments: ArgumentError: Could not find or build blob: expected attachable, got #<ActionText::Attachables::RemoteImage:0x00007fb0259fef70 @url="http://example.com/cat.jpg", @content_type="image", @width=nil, @height=nil> ```
* | | Fix `t.timestamps` missing `null: false` in `change_table bulk: true`Ryuta Kamizono2019-01-264-0/+36
| | |
* | | Allow `column_exists?` giving options without typeRyuta Kamizono2019-01-263-13/+13
| | |
* | | Fix typo: overriden -> overridden [ci skip] (#35060)Vipul A M2019-01-261-1/+1
| | |
* | | Merge pull request #35055 from bughit/patch-1Rafael França2019-01-261-0/+2
|\ \ \ | | | | | | | | document the possibility of app initializers running before gem initializers
| * | | document the possibility of app initializers running before gem initilizersbughit2019-01-251-0/+2
| | | | | | | | | | | | and suggest a workaround