aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test
Commit message (Collapse)AuthorAgeFilesLines
* Add missing support for modulo operations on durationsSayan Chakraborty2017-07-281-13/+62
| | | | | | | | | | | Rails 5.1 introduce an `ActiveSupport::Duration::Scalar` class as a wrapper around a numeric value as a way of ensuring a duration was the outcome of an expression. However the implementation was missing support for modulo operations. This commit adds support for those operations and should result in a duration being returned from expressions involving them. Fixes #29603 and #29743.
* Fix division where a duration is the denominatorAndrew White2017-07-271-10/+14
| | | | | | | | | PR #29163 introduced a change in behavior when a duration was the denominator in a calculation - this was incorrect as dividing by a duration should always return a `Numeric`. The behavior of previous versions of Rails has been restored. Fixes #29592.
* remove depreciated assertion to eliminate warningChristina Thompson2017-07-241-1/+1
| | | | Signed-off-by: Yuki Nishijima <yk.nishijima@gmail.com>
* Merge pull request #29907 from deivid-rodriguez/fix_flaky_message_verifier_testKasper Timm Hansen2017-07-241-1/+1
|\ | | | | Fix test failure in message verifier tests
| * Fix test failure in message verifier testsDavid Rodríguez2017-07-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this, I get the following result on my machine ``` # Running: F Failure: MessageVerifierTest#test_backward_compatibility_messages_signed_without_metadata [/home/deivid/Code/rails/activesupport/test/message_verifier_test.rb:91]: --- expected +++ actual @@ -1 +1 @@ -{:some=>"data", :now=>2010-01-01 00:00:00 +0100} +{:some=>"data", :now=>2010-01-01 00:00:00 +0000} bin/test test/message_verifier_test.rb:89 ```
* | add metadata tests: verify methodAssain2017-07-241-0/+15
|/
* Merge pull request #29860 from georgeclaghorn/travel-back-automaticallyRafael França2017-07-241-3/+0
|\ | | | | Remove time stubs after each test
| * Remove time stubs after each testGeorge Claghorn2017-07-221-3/+0
| | | | | | | | Reverts 7abb6e0.
* | add metadata support to message verifierAssain2017-07-191-0/+41
| |
* | Add expires_at, expires_in, and purpose meta_data to messages.Assain2017-07-192-1/+131
| |
* | Merge pull request #29757 from lugray/hash_with_indifferent_access_defaultSean Griffin2017-07-171-0/+26
|\ \ | | | | | | Fix HashWithIndifferentAccess#default when include?(nil)
| * | Fix HashWithIndifferentAccess#default when include?(nil)Lisa Ugray2017-07-171-0/+26
| |/ | | | | | | | | | | | | | | | | | | The implementation of HashWithIndifferentAccess#default didn't distinguish `default` from `default(nil)`, which caused an incorrect result for `default` if `nil` was used as a key. Define HashWithIndifferentAccess#dig so that hackery that behaves differently from Hash#default can be removed from HashWithIndifferentAccess#default.
* | Merge branch 'master' into make-reverse-merge-bang-order-consistentSean Griffin2017-07-17199-2010/+3389
|\ \
| * | Enable `Layout/FirstParameterIndentation` copRyuta Kamizono2017-07-171-2/+2
| | | | | | | | | | | | | | | | | | | | | We have some indentation cops. But now there is a little inconsistent params indentations. Enable `Layout/FirstParameterIndentation` cop to prevent newly inconsistent indentation added and auto-correct to existing violations.
| * | Remove encoding utf-8 magic commentKoichi ITO2017-07-152-2/+0
| |/
| * [Active Support] `rubocop -a --only Layout/EmptyLineAfterMagicComment`Koichi ITO2017-07-11196-0/+196
| |
| * Added time helper method `freeze_time` which is an alias for `travel_to ↵प्रथमेश Sonpatki2017-07-101-0/+22
| | | | | | | | Time.now` (#29681)
| * Merge pull request #29728 from kirs/frozen-activesupportMatthew Draper2017-07-09198-0/+198
| |\ | | | | | | Use frozen-string-literal in ActiveSupport
| | * Use frozen-string-literal in ActiveSupportKir Shatrov2017-07-09198-0/+198
| | |
| * | Merge pull request #28668 from Dorian/mention-time-parse-argument-errorAaron Patterson2017-07-051-0/+10
| |\ \ | | | | | | | | Mention Time.zone.parse possibly throwing ArgumentError
| | * | Mention and test for possible ArgumentError when parsing timesDorian Marié2017-04-081-0/+10
| | | |
| * | | Fix warning: `*' interpreted as argument prefixRyuta Kamizono2017-07-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` /Users/kamipo/src/github.com/rails/rails/activesupport/test/core_ext/module_test.rb:402: warning: `*' interpreted as argument prefix /Users/kamipo/src/github.com/rails/rails/activesupport/test/core_ext/module_test.rb:420: warning: `*' interpreted as argument prefix ```
| * | | Merge pull request #29687 from k3rni/private-prefixed-delegateMatthew Draper2017-07-061-0/+38
| |\ \ \ | | |_|/ | |/| | | | | | Return prefixed method names from `Module.delegate`, if using prefixes
| | * | Use `map` in `delegate` so that actual prefixed method names are returned, ↵Krzysztof Zych2017-07-051-0/+39
| |/ / | | | | | | | | | if using prefix version.
| * | Expectation firstAkira Matsuda2017-07-021-1/+1
| | |
| * | Revert "Merge pull request #29540 from kirs/rubocop-frozen-string"Matthew Draper2017-07-02198-198/+0
| | | | | | | | | | | | | | | This reverts commit 3420a14590c0e6915d8b6c242887f74adb4120f9, reversing changes made to afb66a5a598ce4ac74ad84b125a5abf046dcf5aa.
| * | Merge pull request #29540 from kirs/rubocop-frozen-stringMatthew Draper2017-07-02198-0/+198
| |\ \ | | | | | | | | | | | | Enforce frozen string in Rubocop
| | * | Enforce frozen string in RubocopKir Shatrov2017-07-01198-0/+198
| | | |
| * | | Merge pull request #29506 from pat/frozen-string-literalsMatthew Draper2017-07-027-33/+34
| |\ \ \ | | |/ / | |/| | | | | | Make ActiveSupport frozen-string-literal friendly.
| | * | Make ActiveSupport frozen string literal friendly.Pat Allan2017-06-207-33/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The ActiveSupport test suite only passes currently if it uses the latest unreleased commits for dalli, and a patch for Builder: https://github.com/tenderlove/builder/pull/6 Beyond that, all external dependencies (at least, to the extent they’re used by ActiveSupport) are happy, including Nokogiri as of 1.8.0.
| * | | prepare for Minitest 6utilum2017-06-201-1/+1
| |/ /
| * | Cache: test coverage for cleanup behavior with local cache strategyEugene Kenny2017-06-101-0/+15
| | | | | | | | | | | | | | | | | | No need to pass `#cleanup` options through to `LocalCache#clear`. Fixes #29081. References #25628.
| * | Split up the cache test suite so it's easier to understand and extend (#29404)Jeremy Daer2017-06-1020-1359/+1383
| | | | | | | | | | | | | | | | | | | | | | | | | | | Split up the caching tests as prep for adding a new cache store. Slices the mega test/caching_test.rb into behavior modules, concrete store tests, and cross-cutting store tests. Considering moving cache store behavior modules into lib/ so they may be used for acceptance testing by third parties.
| * | Cache: write_multi (#29366)Jeremy Daer2017-06-061-0/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rails.cache.write_multi foo: 'bar', baz: 'qux' Plus faster `fetch_multi` with stores that implement `write_multi_entries`. Keys that aren't found may be written to the cache store in one shot instead of separate writes. The default implementation simply calls `write_entry` for each entry. Stores may override if they're capable of one-shot bulk writes, like Redis `MSET`.
| * | Implement mattr_acessor :default optionGenadi Samokovarov2017-06-031-1/+37
| | |
| * | Add next occur and previous occurred day of week API (#26600)Shota Iguchi2017-05-301-0/+22
| | |
| * | Add option for class_attribute default (#29270)David Heinemeier Hansson2017-05-291-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Allow a default value to be declared for class_attribute * Convert to using class_attribute default rather than explicit setter * Removed instance_accessor option by mistake * False is a valid default value * Documentation
| * | Merge pull request #26628 from mjhoy/fix-number-to-human-25742Eileen M. Uchitelle2017-05-291-0/+6
| |\ \ | | | | | | | | round before calculating exponent in number_to_human_converter
| | * | number_to_human_converter: round before calculating exponentMichael Hoy2017-03-161-0/+6
| | | | | | | | | | | | | | | | fixes #25664
| * | | Merge pull request #29097 from ↵Matthew Draper2017-05-281-0/+7
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | EilisHamilton/fix_uncountable_pluralization_locale Fix pluralization of uncountables when given a locale
| | * | | Fix pluralization of uncountables when given a localeEilis Hamilton2017-05-191-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously apply_inflections would only use the :en uncountables rather then the ones for the locale that was passed to pluralize or singularize. This changes apply_inflections to take a locale which it will use to find the uncountables.
| * | | | ActiveSupport::CurrentAttributes provides a thread-isolated attributes ↵David Heinemeier Hansson2017-05-261-0/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | singleton (#29180) * Add ActiveSupport::CurrentAttributes to provide a thread-isolated attributes singleton * Need to require first * Move stubs into test namespace. Thus they won't conflict with other Current and Person stubs. * End of the line for you, whitespace! * Support super in attribute methods. Define instance level accessors in an included module such that `super` in an overriden accessor works, akin to Active Model. * Spare users the manual require. Follow the example of concerns, autoload in the top level Active Support file. * Add bidelegation support * Rename #expose to #set. Simpler, clearer * Automatically reset every instance. Skips the need for users to actively embed something that resets their CurrentAttributes instances. * Fix test name; add tangible name value when blank. * Try to ensure we run after a request as well. * Delegate all missing methods to the instance This allows regular `delegate` to serve, so we don't need bidelegate. * Properly test resetting after execution cycle. Also remove the stale puts debugging. * Update documentation to match new autoreset
| * | | | Merge pull request #29234 from y-yagi/remove_unused_test_classGuillermo Iguaran2017-05-261-3/+0
| |\ \ \ \ | | | | | | | | | | | | Remove unused test class
| | * | | | Remove unused test classyuuji.yaginuma2017-05-261-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `AlsoDoingNothingTest` was added in cf9be89. It seems that it added to confirm that the test works in the child class of `ActiveSupport::TestCase`. But now basically use `ActiveSupport::TestCase` in test, so I think it is unnecessary.
| * | | | | Define path with __dir__bogdanvlviv2017-05-234-14/+14
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | ".. with __dir__ we can restore order in the Universe." - by @fxn Related to 5b8738c2df003a96f0e490c43559747618d10f5f
| * / / / Fix implicit calculations with scalars and durationsAndrew White2017-05-201-0/+34
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously calculations where the scalar is first would be converted to a duration of seconds but this causes issues with dates being converted to times, e.g: Time.zone = "Beijing" # => Asia/Shanghai date = Date.civil(2017, 5, 20) # => Mon, 20 May 2017 2 * 1.day # => 172800 seconds date + 2 * 1.day # => Mon, 22 May 2017 00:00:00 CST +08:00 Now the `ActiveSupport::Duration::Scalar` calculation methods will try to maintain the part structure of the duration where possible, e.g: Time.zone = "Beijing" # => Asia/Shanghai date = Date.civil(2017, 5, 20) # => Mon, 20 May 2017 2 * 1.day # => 2 days date + 2 * 1.day # => Mon, 22 May 2017 Fixes #29160, #28970.
| * | | Use recyclable cache keys (#29092)David Heinemeier Hansson2017-05-181-0/+90
| | | |
| * | | Merge pull request #29086 from mikeycgto/message-encryptor-auth-tag-checkKasper Timm Hansen2017-05-151-7/+19
| |\ \ \ | | | | | | | | | | | | | | | | | | | | Message encryptor auth tag check Fixes MessageEncryptor when used in AEAD mode. Specifically, we need to check if the `auth_tag` is nil. This may arise when an AEAD encryptor is used to decrypt a ciphertext generated from a different mode, such as CBC-HMAC. Basically, the number of double dashes will differ and `auth_tag` may be nil in this case.
| | * | | Updates to MessageEncryptor AEAD testsMichael Coyne2017-05-151-10/+14
| | | | |
| | * | | Fix for AEAD auth_tag check in MessageEncryptorMichael Coyne2017-05-151-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When MessageEncryptor tries to +decrypt_and_verify+ ciphertexts generated in a different mode (such CBC-HMAC), the +auth_tag+ may be +nil+ and must explicitly check for it. See the discussion here: https://github.com/rails/rails/pull/28132#discussion_r116388462