aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/core_ext
Commit message (Collapse)AuthorAgeFilesLines
* Deprecate `HWIDA.new_from_hash_copying_default`Sean Griffin2015-10-291-1/+1
| | | | This method was already niche, and is now redundant with `.new`
* Merge pull request #16357 from gchan/hwia-respects-to-hash-defaultSean Griffin2015-10-291-0/+18
|\ | | | | | | | | `HashWithIndifferentAccess.new` respects the default value or proc on objects that respond to `#to_hash`
| * `HashWithIndifferentAccess.new` respects the default value or proc on ↵Gordon Chan2014-07-311-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | objects that respond to `#to_hash`. Builds on the work of #12550 where `.new` will convert the object (that respond to `#to_hash`) to a hash and add that hash's keys and values to itself. This change will also make `.new` respect the default value or proc of objects that respond to `#to_hash`. In other words, this `.new` behaves exactly like `.new_from_hash_copying_default`. `.new_from_hash_copying_default` now simply invokes `.new` and any references to `.new_from_hash_copying_default` are replaced with `.new`. Added tests confirm behavior.
* | Make `Module#redefine_method` to keep method visibilityyui-knk2015-10-261-1/+19
| | | | | | | | | | | | | | Before this commit `Module#redefine_method` always changes visibility of redefined method to `public`. This commit changes behavior of Module#redefine_method` to keep method visibility.
* | Add Module#remove_possible_singleton_methodAndrew White2015-10-211-3/+15
| | | | | | | | | | This is primarily to fix method redefinition warnings in class_attribute but may be of use in other places where we define singleton methods.
* | Merge pull request #19992 from greysteil/handle-invalid-utf8-in-html-escapeSean Griffin2015-10-201-2/+8
|\ \ | | | | | | | | | Handle invalid UTF-8 strings when HTML escaping
| * | Handle invalid UTF-8 strings when HTML escapingGrey Baker2015-06-081-2/+8
| | | | | | | | | | | | | | | | | | | | | Use `ActiveSupport::Multibyte::Unicode.tidy_bytes` to handle invalid UTF-8 strings in `ERB::Util.unwrapped_html_escape` and `ERB::Util.html_escape_once`. Prevents user-entered input passed from a querystring into a form field from causing invalid byte sequence errors.
* | | Merge pull request #21302 from theunraveler/delegate_reserved_argument_namesSean Griffin2015-10-201-0/+15
|\ \ \ | | | | | | | | ActiveSupport: Fixing issue when delegating to methods named "block", "args", or "arg"
| * | | Fixing issue when delegating to methods named "block", "args", or "arg"Jake Bell2015-08-191-0/+15
| | | |
* | | | fixes #21815Maarten Jacobs2015-10-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default timestamp used for AR is `updated_at` in nanoseconds! (:nsec) This causes issues on any machine that runs an OS that supports nanoseconds timestamps, i.e. not-OS X, where the cache_key of the record persisted in the database (milliseconds precision) is out-of-sync with the cache_key in the ruby VM. This commit adds: A test that shows the issue, it can be found in the separate file `cache_key_test.rb`, because - model couldn't be defined inline - transactional testing needed to be turned off to get it to pass the MySQL tests This seemed cleaner than putting it in an existing testcase file. It adds :usec as a dateformat that calculates datetime in microseconds It sets precision of cache_key to :usec instead of :nsec, as no db supports nsec precision on timestamps
* | | | Expand support for ActiveSupport::TimeWithZone#utc?David Celis2015-10-151-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, ActiveSupport::TimeWithZone#utc? simply runs a check to see if the linked ActiveSupport::TimeZone's name is "UTC". This will only return true for ActiveSupport::TimeZone["UTC"], but not for time zones such as "Etc/UTC", "Etc/Universal", or other time zones that are aliases for UTC. Interestingly enough, ActiveSupport::TimeWithZone#utc? is also aliased as #gmt? but will return false for the "GMT" timezone (along with other TZInfo aliases for GMT). Instead of running a simple check on the TimeZone name, we can rely on the underlying TZInfo::TimezonePeriod and TZInfo::TimezoneOffset which keep a record of of the offset's abbreviated name. The possibilities here for UTC time zones are `:UTC`, `:UCT`, and `:GMT`. Signed-off-by: David <me@davidcel.is>
* | | | Merge pull request #20600 from ↵Andrew White2015-10-021-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | mtsmfm/xmlschema-should-display-more-than-6-digits TimeWithZone#xmlschema should be able to display more than 6 digits
| * | | | TimeWithZone#xmlschema should be able to display more than 6 digitsFumiaki MATSUSHIMA2015-09-301-2/+2
| | | | |
* | | | | Regex fix for mattr_accessor validationAliaksandr Buhayeu2015-10-011-0/+14
|/ / / / | | | | | | | | | | | | | | | | Change ^ and $ operators to \A and \z to prevent code injection after the line breaks
* | | | Merge pull request #21767 from ronakjangir47/missing_transform_values_testRafael Mendonça França2015-09-251-0/+12
|\ \ \ \ | | | | | | | | | | Added missing tests for transform_values! which returns Enumerator
| * | | | Added missing tests for transform_values! which returns Enumerator without ↵Ronak Jangir2015-09-261-0/+12
| | | | | | | | | | | | | | | | | | | | blocks
* | | | | Added missing tests for transform_keys! which returns Enumerator without blockRonak Jangir2015-09-261-0/+12
|/ / / /
* | | | :hocho: TyposAkira Matsuda2015-09-211-1/+1
| | | |
* | | | :scissors: empty line at the top of filesAkira Matsuda2015-09-211-1/+0
|/ / /
* | | Assert that the `:prefix` option of `number_to_human_size` is deprecatedRoque Pinel2015-08-121-8/+10
| | |
* | | Only invoke the default block for mattr_accessor once so that it does not ↵Lachlan Sylvester2015-08-071-0/+6
| | | | | | | | | | | | cause issues if it is not idempotent
* | | 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
| | |
* | | Add tests to ensure we don't interfere with json gem's outputGodfrey Chan2015-07-111-0/+52
| | |
* | | 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-101-0/+37
|\ \ \ | | | | | | | | active_support/indifferent_access: fix not raising when default_proc does
| * | | test/hash: move lonely indifferent hash testSimon Eskildsen2015-07-101-0/+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-102-14/+17
|/ / /
* | | 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.
* | | Removed mocha stubbing in active_supportRonak Jangir2015-06-076-216/+252
| | |
* | | 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-281-16/+16
|\ \ \ | | | | | | | | Avoid E constant clashing with Minitest defined version.
| * | | Avoid E constant clashing with Minitest defined version.Kasper Timm Hansen2015-05-221-16/+16
| | | | | | | | | | | | | | | | | | | | 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.
* | | | 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?
* | | Put the assertion arguments in the right orderMatthew Draper2015-05-051-1/+1
| | |