| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|\
| |
| | |
Added helper methods to stub any instance
|
| | |
|
|/ |
|
| |
|
|
|
|
| |
cause issues if it is not idempotent
|
|
|
|
|
|
| |
* only test the upgrade path,
* add test to verify non upgrades can’t preempt,
* add reentrancy assertion.
|
|
|
|
|
|
| |
Specifically, clean up if the thread is killed while it's blocked
awaiting the lock... if we get killed on some other arbitrary line, the
result remains quite undefined.
|
| |
|
|
|
|
|
|
| |
I accidentally discovered `assert_threads_not_stuck` couldn't fail, so
the simplest solution was to prove they're all now working in both
directions.
|
|
|
|
|
| |
If the thread isn't yet holding any form of lock, it has no claim over
what may / may not run while it's blocked.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
```ruby
twz = DateTime.now.in_time_zone
twz.eql?(twz.dup) => false
```
Now:
```ruby
twz = DateTime.now.in_time_zone
twz.eql?(twz.dup) => true
```
Please notice that this fix the `TimeWithZone` comparison to itself,
not to `DateTime`. Based on #3725, `DateTime` should not be equal to
`TimeWithZone`.
|
|
|
|
| |
enumerator if called without block
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
See 2f26f611 for more info.
|
| |
|
|
|
|
|
| |
Same fix as 109e71d2bb6d2305a091fe7ea96d4f6e9c7cd52d but after
mocha got removed in 2f28e5b6417fd4e5d6060983b36262737558b613.
|
| |
|
|\
| |
| | |
active_support/indifferent_access: fix not raising when default_proc does
|
| | |
|
| | |
|
| | |
|
| | |
|
|/
|
|
|
| |
Add `assert_called` and `assert_not_called` to boil down the boilerplate we need to write
to assert methods are called certain number of times.
|
| |
|
|
|
|
| |
Fixes CVE-2015-3226
|
|\
| |
| | |
Fix the message verifier encoding issue
|
| |
| |
| |
| |
| |
| |
| | |
```ruby
verifier = ActiveSupport::MessageVerifier.new('secret')
verifier.verify("\xff") # => ArgumentError: invalid byte sequence in UTF-8
```
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is not something that is failing at the moment, but can do it
eventually. I had the issue with db62081 as the HEAD and with the
following change:
```
--- a/activesupport/test/inflector_test.rb
+++ b/activesupport/test/inflector_test.rb
@@ -101,6 +101,7 @@ class InflectorTest < ActiveSupport::TestCase
def test_acronyms
ActiveSupport::Inflector.inflections do |inflect|
inflect.acronym("API")
+ inflect.acronym("HTM")
inflect.acronym("HTML")
inflect.acronym("HTTP")
inflect.acronym("RESTful")
```
I was expecting only `test_acronyms` to fail, but with a specific `seed`
others were also failing: `ruby -w -I"lib:test" test/inflector_test.rb
--seed 4313`.
Now, `inflections` instance is duplicated on `setup` and restored on
`teardown`.
I decided to benchmark and check the impact of the patch and it seems
to me to be fine.
```
Calculating -------------------------------------
without changes 1.000 i/100ms
with setup dup 1.000 i/100ms
with block dup 1.000 i/100ms
-------------------------------------------------
without changes 0.817 (± 0.0%) i/s - 5.000 in
6.119916s
with setup dup 0.784 (± 0.0%) i/s - 4.000
with block dup 0.797 (± 0.0%) i/s - 4.000
```
Where `with setup dup` duplicates on setup for each test and `with block`
duplicates for just for tests that actually modify `inflections`.
|
|\
| |
| | |
DateTime#<=> return nil when compare to the invalid String as Time.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
before:
p Time.now == 'a' # => false
p Time.now <=> 'a' # => nil
require 'active_support'
require 'active_support/core_ext'
p Time.now == 'a' # => false
p Time.now <=> 'a' # => invalid date (ArgumentError)
and on ruby 2.2, Time.now == 'a' warning.
warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
after:
- Error handling.
- Quiet warnings.
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Allow Enumerable#pluck to take a splat.
|
| | |
| | |
| | |
| | |
| | |
| | | |
This allows easier integration with ActiveRecord, such that
AR#pluck will now use Enumerable#pluck if the relation is loaded,
without needing to hit the database.
|
|/ /
| |
| |
| |
| | |
Passing 999999000 < `:nsec` < 999999999 and 999999 < `:usec` < 1000000
to change a time with utc_offset doesn't throw an `ArgumentError`.
|
|\ \
| | |
| | | |
Avoid E constant clashing with Minitest defined version.
|
| | |
| | |
| | |
| | |
| | | |
Minitest sets an E constant to an empty string to save GC time.
This clashes with autoloading tests which define an E constant.
|
| | |
| | |
| | |
| | | |
Allows fetching the same values from arrays as from ActiveRecord associations.
|
|\ \ \
| | | |
| | | |
| | | | |
Add bang version to OrderedOptions
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
By:
Aditya Sanghi(@asanghi)
Gaurish Sharma(gaurish)
|
|/ / / |
|
| | |
| | |
| | |
| | |
| | |
| | | |
* Rename `ActiveSupport::Try` => `ActiveSupport::Tryable`
* Include the modules inline
* `private` indentation
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
`Delegator` inherits from `BasicObject`, which means that it will not
have `Object#try` defined. It will then delegate the call to the
underlying object, which will not (necessarily) respond to the method
defined in the enclosing `Delegator`.
This patches `Delegator` with the `#try` method to work around the
surprising behaviour.
Fixes #5790
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The feature was accepted and added to Ruby 2.3+ so we don't need to
define it again.
See https://bugs.ruby-lang.org/issues/11151
|