aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #26843 from denisovlev/strptime_timestampsRafael França2016-10-221-0/+18
|\ | | | | Fix `ActiveSupport::TimeZone#strptime` cannot parse timestamps (%Q, %s)
| * Fix `ActiveSupport::TimeZone#strptime` cannot parse timestamps (%Q, %s)denisovlev2016-10-211-0/+18
| |
* | Skip test that depends on RubyVM when it is not available (JRuby).Charles Oliver Nutter2016-10-211-0/+2
|/
* Merge pull request #26839 from renuo/fix-missing-nsec-transferAndrew White2016-10-211-1/+3
|\ | | | | Fix copy_time_to: Copy nsec instead of usec
| * Fix copy_time_to: Copy nsec instead of usecJosua Schmid2016-10-201-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | `copy_time_to` is a helper function for date and time calculations. It's being used by `prev_week`, `next_week` and `prev_weekday` to keep the time fraction when jumping around between days. Previously the nanoseconds part was lost during the operation. This lead to problems in practice if you were using the `end_of_day` calculation. Resulting in the time fraction of `end_of_day` not being the same as next week's `end_of_day`. With this fix `copy_time_to` doesn't forget the `nsec` digits.
* | Merge pull request #26830 from headius/mask_forking_fsevent_test_on_jrubyRafael Mendonça França2016-10-201-0/+2
| | | | | | | | Mask forking filesystem event on JRuby.
* | Merge pull request #26829 from headius/wait_for_events_in_listen_testsAaron Patterson2016-10-191-0/+18
|/ | | | Wait for file events to propagated for slower Listen backends.
* Fixnum and Bignum are deprecated in Ruby trunkMatthew Draper2016-10-081-2/+2
| | | | https://bugs.ruby-lang.org/issues/12739
* Merge pull request #26684 from matthewd/executor-serialMatthew Draper2016-10-051-0/+55
|\ | | | | Avoid bumping the class serial when invoking executor
| * Avoid bumping the class serial when invoking executorMatthew Draper2016-10-031-0/+55
| |
* | Revert "Merge pull request #26677 from tbalthazar/26644"Andrew White2016-10-021-6/+0
|/ | | | | | | | Turns out trying to cache on localtime with arguments is too hard so we'll do it on DateAndTime::Compatibility#to_time instead. This reverts commit 9ce2d1b1a43fc4ef3db59849b7412d30583a4074, reversing changes made to 53ede1aff2025d4391d0e05ba471fdaf3110a99c.
* Merge pull request #26677 from tbalthazar/26644Andrew White2016-10-011-0/+6
|\ | | | | Fix `ActiveSupport::TimeWithZone#localtime`
| * Fix `ActiveSupport::TimeWithZone#localtime`Thomas Balthazar2016-10-011-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously memoization in `localtime` wasn't taking the `utc_offset` parameter into account when returning a cached value. It now caches the computed value depending on the `utc_offset` parameter, e.g: Time.zone = "US/Eastern" t = Time.zone.local(2016,5,2,11) # => Mon, 02 May 2016 11:00:00 EDT -04:00 t.localtime(-7200) # => 2016-05-02 13:00:00 -0200 t.localtime(-3600) # => 2016-05-02 14:00:00 -0100
* | Tighten the backtrace pollution from passing through callbacksMatthew Draper2016-09-301-1/+72
|/ | | | | | | | | | Callbacks are everywhere, so it's better if we can avoid making a mess of the backtrace just because we've passed through a callback hook. I'm making no effort to the before/after invocations: those only affect backtraces while they're running. The calls that matter are the ones that remain on the call stack after run_callbacks yields: around callbacks, and internal book-keeping around the before/afters.
* Fix ActiveSupport::TimeWithZone#inThomas Balthazar2016-09-241-1/+31
| | | | | | | | | | | | | | | Previously calls to `in` were being sent to the non-DST aware method `Time#since` via `method_missing`. It is now aliased to the DST aware `ActiveSupport::TimeWithZone#+` which handles transitions across DST boundaries, e.g: Time.zone = "US/Eastern" t = Time.zone.local(2016,11,6,1) # => Sun, 06 Nov 2016 01:00:00 EDT -05:00 t.in(1.hour) # => Sun, 06 Nov 2016 01:00:00 EST -05:00
* add check of argumentyuuji.yaginuma2016-09-171-0/+6
| | | | | | | `#fetch_multi` in case did not cache hit, to write a cache using the block value. https://github.com/rails/rails/blob/master/activesupport/lib/active_support/cache.rb#L383..L384 Therefore, block is a need to pass always, I think should check first.
* improve error message when include assertions failMichael Grosser2016-09-1612-114/+114
| | | | | | assert [1, 3].includes?(2) fails with unhelpful "Asserting failed" message assert_includes [1, 3], 2 fails with "Expected [1, 3] to include 2" which makes it easier to debug and more obvious what went wrong
* Fix broken comments indentation caused by rubocop auto-correct [ci skip]Ryuta Kamizono2016-09-141-6/+6
| | | | | | All indentation was normalized by rubocop auto-correct at 80e66cc4d90bf8c15d1a5f6e3152e90147f00772. But comments was still kept absolute position. This commit aligns comments with method definitions for consistency.
* Remove blank else branchRyuta Kamizono2016-09-031-3/+0
|
* RuboCop is 100% green :tada:Xavier Noria2016-09-021-1/+5
|
* fixes remaining RuboCop issues [Vipul A M, Xavier Noria]Xavier Noria2016-09-012-2/+2
|
* Start passing cipher from EncryptedCookieJar since we use it to determine ↵Vipul A M2016-09-011-2/+2
| | | | key length
* Follow up of #25602Vipul A M2016-09-011-0/+10
| | | | | | | | | Since keys are truncated, ruby 2.4 doesn't accept keys greater than their lenghts. keys of same value but different lenght and greater than key size of cipher, produce the same results as reproduced at https://gist.github.com/rhenium/b81355fe816dcfae459cc5eadfc4f6f9 Since our default cipher is 'aes-256-cbc', key length for which is 32 bytes, limit the length of key being passed to Encryptor to 32 bytes. This continues to support backwards compat with any existing signed data, already encrupted and signed with 32+ byte keys. Also fixes the passing of this value in multiple tests.
* use `message` that specified in argument to error messageyuuji.yaginuma2016-08-311-0/+9
|
* use `inspect` for show `from` valueyuuji.yaginuma2016-08-291-0/+9
| | | | If `from` is nil, in order to avoid the blank is showed.
* Merge pull request #25863 from mechanicles/remove-duplicate-testRafael França2016-08-161-5/+0
|\ | | | | Remove duplicate test.
| * Remove duplicate test.Santosh Wadghule2016-07-171-5/+0
| | | | | | | | | | We already test similar stuff in `test_really_long_keys` so removing this extra and duplicated test.
* | Add three new rubocop rulesRafael Mendonça França2016-08-1641-262/+262
| | | | | | | | | | | | | | | | Style/SpaceBeforeBlockBraces Style/SpaceInsideBlockBraces Style/SpaceInsideHashLiteralBraces Fix all violations in the repository.
* | Merge pull request #25681 from willnet/fix-thread_mattr_accessorYves Senn2016-08-081-0/+16
|\ \ | | | | | | | | | Fix `thread_mattr_accessor` share variable superclass with subclass
| * | Fix `thread_mattr_accessor` share variable superclass with subclasswillnet2016-08-041-4/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation of `thread_mattr_accessor` set variable sharing superclass with subclass. So the method doesn't work as documented. Precondition class Account thread_mattr_accessor :user end class Customer < Account end Account.user = "DHH" Account.user #=> "DHH" Customer.user = "Rafael" Customer.user # => "Rafael" Documented behavior Account.user # => "DHH" Actual behavior Account.user # => "Rafael" Current implementation set variable statically likes `Thread[:attr_Account_user]`, and customer also use it. Make variable name dynamic to use own thread-local variable.
* | | code gardening: removes redundant selfsXavier Noria2016-08-083-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | A few have been left for aesthetic reasons, but have made a pass and removed most of them. Note that if the method `foo` returns an array, `foo << 1` is a regular push, nothing to do with assignments, so no self required.
* | | Add `Style/EmptyLines` in `.rubocop.yml` and remove extra empty linesRyuta Kamizono2016-08-0714-20/+0
| | |
* | | applies remaining conventions across the projectXavier Noria2016-08-0611-24/+11
| | |
* | | normalizes indentation and whitespace across the projectXavier Noria2016-08-0643-600/+595
| | |
* | | remove redundant curlies from hash argumentsXavier Noria2016-08-0611-40/+40
| | |
* | | modernizes hash syntax in activesupportXavier Noria2016-08-0636-949/+949
| | |
* | | applies new string literal convention in activesupport/testXavier Noria2016-08-06141-2632/+2632
|/ / | | | | | | | | The current code base is not uniform. After some discussion, we have chosen to go with double quotes by default.
* | Add :weeks to the list of variable duration partsAndrew White2016-08-031-0/+32
| | | | | | | | | | | | | | | | Since 434df00 week durations are no longer converted to days. This means we need to add :weeks to the parts that ActiveSupport::TimeWithZone will consider being of variable duration to take account of DST transitions. Fixes #26039.
* | Revert "Adds `not_in?` onto Object"David Heinemeier Hansson2016-07-291-53/+0
| |
* | Merge pull request #25914 from jmccartie/jm/not_inRafael França2016-07-221-0/+53
|\ \ | | | | | | Adds `not_in?` onto Object
| * | Adds `not_in?` onto ObjectJon McCartie2016-07-211-0/+53
| | |
* | | systematic revision of =~ usage in ASXavier Noria2016-07-226-12/+18
|/ / | | | | | | | | Where appropriate prefer the more concise Regexp#match?, String#include?, String#start_with?, and String#end_with?
* | define Range#match? if Ruby < 2.4Xavier Noria2016-07-221-0/+24
| | | | | | | | | | | | See the rationale in the documentation included in this patch. We are going to gradually introduce this predicate in the code base.
* | Allow MessageEncryptor to take advantage of authenticated encryption modesBart de Water2016-07-211-0/+18
| | | | | | | | | | | | AEAD modes like `aes-256-gcm` provide both confidentiality and data authenticity, eliminating the need to use MessageVerifier to check if the encrypted data has been tampered with. Signed-off-by: Jeremy Daer <jeremydaer@gmail.com>
* | Merge pull request #25823 from mechanicles/missing-memory-store-testsRafael França2016-07-201-0/+10
|\ \ | | | | | | Add missing tests for memory store of cache.
| * | Add missing tests for memory store of cache.Santosh Wadghule2016-07-171-0/+10
| |/
* | Merge pull request #25393 from gsamokovarov/introduce-assert-changesRafael França2016-07-201-0/+106
|\ \ | | | | | | Introduce `assert_changes` and `assert_no_changes`
| * | Introduce `assert_changes` and `assert_no_changes`Genadi Samokovarov2016-07-171-0/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Those are assertions that I really do miss from the standard `ActiveSupport::TestCase`. Think of those as a more general version of `assert_difference` and `assert_no_difference` (those can be implemented by assert_changes, should this change be accepted). Why do we need those? They are useful when you want to check a side-effect of an operation. `assert_difference` do cover a really common case, but we `assert_changes` gives us more control. Having a global error flag? You can test it easily with `assert_changes`. In fact, you can be really specific about the initial state and the terminal one. ```ruby error = Error.new(:bad) assert_changes -> { Error.current }, from: nil, to: error do expected_bad_operation end ``` `assert_changes` follows `assert_difference` and a string can be given for evaluation as well. ```ruby error = Error.new(:bad) assert_changes 'Error.current', from: nil, to: error do expected_bad_operation end ``` Check out the test cases if you wanna see more examples. :beers:
* | | Merge pull request #25822 from ↵Rafael França2016-07-201-0/+12
|\ \ \ | | | | | | | | | | | | | | | | mechanicles/clear-local-cache-on-invalid-parameters-error Add missing test for clearing up local cache on invalid parameters error.
| * | | Add missing test for clearing up local cache on invalid parameters err.Santosh Wadghule2016-07-171-0/+12
| | |/ | |/| | | | | | | | | | Add missing test for clearing up local cache and check response should be present on invalid parameters error.