aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test
Commit message (Collapse)AuthorAgeFilesLines
* Small tweaks to mainly lock-ordering tests.thedarkone2015-07-221-21/+58
| | | | | | * only test the upgrade path, * add test to verify non upgrades can’t preempt, * add reentrancy assertion.
* Handle thread death during lock acquisitionMatthew Draper2015-07-211-0/+21
| | | | | | 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.
* Adjust expectations around purpose/compatibility optionsMatthew Draper2015-07-211-8/+35
|
* Add some meta-assertions for the custom assertionsMatthew Draper2015-07-211-11/+63
| | | | | | 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.
* Order of execution is only guaranteed if upgradingMatthew Draper2015-07-211-1/+3
| | | | | 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.
* Tests for AS::Concurrency::ShareLock.thedarkone2015-07-201-0/+194
|
* Fix `TimeWithZone#eql?` to handle `TimeWithZone` created from `DateTime`Roque Pinel2015-07-191-0/+4
| | | | | | | | | | | | | | | | | | | | 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`.
* ActiveSupport::HashWithIndifferentAccess select and reject should return ↵Bernard Potocki2015-07-171-0/+10
| | | | enumerator if called without block
* Expand coverage of JSON gem testsGodfrey Chan2015-07-111-16/+30
|
* Expand the JSON test coverage for Struct and Hash (?!)Godfrey Chan2015-07-111-1/+13
|
* Add tests to ensure we don't interfere with json gem's outputGodfrey Chan2015-07-113-102/+160
|
* Require yaml for XML mini isolation test.Kasper Timm Hansen2015-07-111-0/+1
|
* Require yaml for time_zone isolation test.Kasper Timm Hansen2015-07-111-0/+1
| | | | See 2f26f611 for more info.
* Add multiple expected calls to assert_called_with.Kasper Timm Hansen2015-07-101-0/+7
|
* Require yaml for time_with_zone isolation testPrem Sichanugrist2015-07-101-0/+1
| | | | | Same fix as 109e71d2bb6d2305a091fe7ea96d4f6e9c7cd52d but after mocha got removed in 2f28e5b6417fd4e5d6060983b36262737558b613.
* Reuse the same test for HWIA reverse_merge!Rafael Mendonça França2015-07-101-3/+1
|
* Merge pull request #20828 from Sirupsen/hash-indifferent-dup-default-procRafael Mendonça França2015-07-102-11/+37
|\ | | | | active_support/indifferent_access: fix not raising when default_proc does
| * test/hash: move lonely indifferent hash testSimon Eskildsen2015-07-102-11/+6
| |
| * active_support/indifferent_hash: dont raise on to_hash when default_proc raisesSimon Eskildsen2015-07-101-0/+14
| |
| * active_support/indifferent_hash: fix cloning default_proc on dupSimon Eskildsen2015-07-101-0/+17
| |
* | Removed use of mocha in active_supportRonak Jangir2015-07-108-65/+87
| |
* | Add method call assertions for internal use.Kasper Timm Hansen2015-07-081-0/+91
|/ | | | | 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.
* remove bad test.Aaron Patterson2015-06-251-4/+0
|
* Escape HTML entities in JSON keysRafael Mendonça França2015-06-161-0/+7
| | | | Fixes CVE-2015-3226
* Merge pull request #20440 from repinel/fix-message-verifier-encoding-issueMatthew Draper2015-06-161-0/+1
|\ | | | | Fix the message verifier encoding issue
| * Fix the message verifier encoding issueRoque Pinel2015-06-141-0/+1
| | | | | | | | | | | | | | ```ruby verifier = ActiveSupport::MessageVerifier.new('secret') verifier.verify("\xff") # => ArgumentError: invalid byte sequence in UTF-8 ```
* | Fix inflector test by using dup inflections when it needs to be changedRoque Pinel2015-06-151-86/+68
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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`.
* Merge pull request #18365 from pocke/fix_datatime_compareAaron Patterson2015-06-122-0/+14
|\ | | | | DateTime#<=> return nil when compare to the invalid String as Time.
| * DateTime#<=> return nil when compare to the invalid String as Time.pocke2015-01-062-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Fix for #20489 - ActiveSupport::Concern#class_methods affects parent classesKristijan Novoselic2015-06-121-0/+25
| |
* | Removed mocha stubbing in active_supportRonak Jangir2015-06-0710-309/+366
| |
* | Merge pull request #20362 from kddeisz/enumerable_pluckRafael Mendonça França2015-06-011-0/+9
|\ \ | | | | | | Allow Enumerable#pluck to take a splat.
| * | Allow Enumerable#pluck to take a splat.Kevin Deisz2015-05-291-0/+9
| | | | | | | | | | | | | | | | | | 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.
* | | Fix a range of values for parameters of the Time#changeNikolay Kondratyev2015-06-011-0/+4
|/ / | | | | | | | | Passing 999999000 < `:nsec` < 999999999 and 999999 < `:usec` < 1000000 to change a time with utc_offset doesn't throw an `ArgumentError`.
* | Merge pull request #20267 from kaspth/fix-minitest-constant-clashingRafael Mendonça França2015-05-288-43/+45
|\ \ | | | | | | Avoid E constant clashing with Minitest defined version.
| * | Avoid E constant clashing with Minitest defined version.Kasper Timm Hansen2015-05-228-43/+45
| | | | | | | | | | | | | | | Minitest sets an E constant to an empty string to save GC time. This clashes with autoloading tests which define an E constant.
* | | Add Enumerable#pluck.Kevin Deisz2015-05-281-0/+5
| | | | | | | | | | | | Allows fetching the same values from arrays as from ActiveRecord associations.
* | | Merge pull request #20208 from gaurish/raise_on_missing_ordered_optionsRafael Mendonça França2015-05-261-0/+15
|\ \ \ | | | | | | | | | | | | Add bang version to OrderedOptions
| * | | Add bang version to OrderedOptionsGaurish Sharma2015-05-231-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | By: Aditya Sanghi(@asanghi) Gaurish Sharma(gaurish)
* | | | Remove `.superclass_delegating_accessor`. Refer #14271Akshay Vishnoi2015-05-241-122/+0
|/ / /
* | | Small stylistic tweaks for `Delegator#try` patchGodfrey Chan2015-05-191-15/+15
| | | | | | | | | | | | | | | | | | * Rename `ActiveSupport::Try` => `ActiveSupport::Tryable` * Include the modules inline * `private` indentation
* | | Patch `Delegator` to work with `#try`Nate Smith2015-05-191-0/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `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
* | | Only define #positive? and #negative? on Ruby 2.2Rafael Mendonça França2015-05-191-6/+78
| | | | | | | | | | | | | | | | | | | | | 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
* | | Merge pull request #20143 from vngrs/move_integer_positive_negative_to_numericRafael Mendonça França2015-05-192-12/+12
|\ \ \ | | | | | | | | | | | | Move Integer#positive? and Integer#negative? query methods to Numeric
| * | | Move Integer#positive? and Integer#negative? query methods to Numeric classMehmet Emin İNAÇ2015-05-132-12/+12
| |/ / | | | | | | | | | By this way Integer, Rational, Float, Fixnum, Bignum classes have the same behaviour
* / / remove warning from integer ext testyuuji.yaginuma2015-05-141-2/+2
|/ / | | | | | | | | | | | | | | | | this removes the following warning: ``` test/core_ext/integer_ext_test.rb:34: warning: ambiguous first argument; put parentheses or a space even after `-' operator test/core_ext/integer_ext_test.rb:38: warning: ambiguous first argument; put parentheses or a space even after `-' operator ```
* | Add Integer#positive? and Integer#negative? query methods in the vein of ↵David Heinemeier Hansson2015-05-131-0/+12
| | | | | | | | Fixnum#zero?
* | as/core_ext require's not usedAnkit Gupta2015-05-082-2/+0
| |
* | Put the assertion arguments in the right orderMatthew Draper2015-05-051-1/+1
| |
* | deep_dup method, remove old key from duplicated hash to avoid unnecessary pairsMehmet Emin İNAÇ2015-05-041-0/+6
| |