aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/core_ext
Commit message (Collapse)AuthorAgeFilesLines
* Fix some wrong String extensions testsAkira Matsuda2013-01-231-7/+9
| | | | | | * ASCII_STRING was not an ASCII String * BYTE_STRING was not an in valid UTF-8 String * added an assertion for non-UTF-8 String
* Test String#dasherizeAkira Matsuda2013-01-231-0/+6
|
* Test Kernel#quietlyAkira Matsuda2013-01-231-0/+12
|
* Test try! with a blockAkira Matsuda2013-01-231-0/+4
|
* Test that a DateTime acts_like_dateAkira Matsuda2013-01-231-0/+4
|
* Use `DateTime.parse` inside `String#to_datetime`Andrew White2013-01-211-0/+6
| | | | | | | | | | Use the standard library's `DateTime.parse` because it's marginally faster and supports partial date/time strings. Benchmark: user system total real old 3.980000 0.000000 3.980000 ( 3.987606) new 3.640000 0.010000 3.650000 ( 3.641342)
* Standardise the return value of `to_time`Andrew White2013-01-215-17/+63
| | | | | | | | | | | | | | | | | | | | | | This commit standardises the return value of `to_time` to an instance of `Time` in the local system timezone, matching the Ruby core and standard library behavior. The default form for `String#to_time` has been changed from :utc to :local but research seems to suggest the latter is the more common form. Also fix an edge condition with `String#to_time` where the string has a timezone offset in it and the mode is :local. e.g: # Before: >> "2000-01-01 00:00:00 -0500".to_time(:local) => 2000-01-01 05:00:00 -0500 # After: >> "2000-01-01 00:00:00 -0500".to_time(:local) => 2000-01-01 00:00:00 -0500 Closes #2453
* Test to allow Range including DateTime and DateTime::Infinitygsphanikumar2013-01-141-0/+6
| | | | Closes #8587
* CVE-2013-0156: Safe XML params parsing. Doesn't allow symbols or yaml.Jeremy Kemper2013-01-081-6/+22
|
* Revert "Merge branch 'master-sec'"Jeremy Kemper2013-01-081-22/+6
| | | | | This reverts commit 88cc1688d0cb828c17706b41a8bd27870f2a2beb, reversing changes made to f049016cd348627bf8db0d72382d7580bf802a79.
* CVE-2013-0156: Safe XML params parsing. Doesn't allow symbols or yaml.Jeremy Kemper2013-01-081-6/+22
|
* Namespace HashWithIndifferentAccessAkira Matsuda2013-01-071-1/+1
|
* Remove unnecessary begin..rescue..end, use only rescueAkira Matsuda2013-01-061-8/+6
|
* Better error message for String#to_dateKelly Stannard2013-01-041-0/+1
| | | | | | | | | | I did this because to_date gives a very unhelpful error message if you do not pass in a correct date. In the process I think this cleans up the code nicely and even better it tends to be slightly faster than the current implementation. Benchmark https://gist.github.com/4440875
* Remove assert_nothing_raisedRafael Mendonça França2013-01-035-66/+48
|
* Added ability to compare date/time with infinitybUg2013-01-046-0/+126
| | | | | | | | | | | | | | | | | Date, DateTime, Time and TimeWithZone can now be compared to infinity, so it's now possible to create ranges with one infinite bound and date/time object as another bound. Ex.: @range = Range.new(Date.today, Float::INFINITY) Also it's possible to check inclusion of date/time in range with conversion. Ex.: @range.include?(Time.now + 1.year) # => true @range.include?(DateTime.now + 1.year) # => true Ability to create date/time ranges with infinite bound is required for handling postgresql range types.
* Alias refute methods to assert_not and perfer assert_not on testsRafael Mendonça França2012-12-311-2/+2
|
* Merge pull request #8471 from kytrinyx/refactor-xml-to-hashSteve Klabnik2012-12-211-1/+1
|\ | | | | WIP Refactor xml conversion to hash
| * Refactor Hash.from_xml.Steve Klabnik + Katrina Owen2012-12-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Three basic refactors in this PR: * We extracted the logic into a method object. We now don't define a tone of extraneous methods on Hash, even if they were private. * Extracted blocks of the case statement into methods that do the work. This makes the logic more clear. * Extracted complicated if clauses into their own query methods. They often have two or three terms, this makes it much easier to see what they _do_. We took care not to refactor too much as to not break anything, and put comments where we suspect tests are missing. We think ActiveSupport::XMLMini might be a good candidate to move to a plugin in the future.
* | Backport thread-local variables from Ruby 2.0Rafael Mendonça França2012-12-111-0/+77
| |
* | Deprecate obsolete Time to DateTime fallback methodsAndrew White2012-12-114-29/+41
| | | | | | | | | | | | | | The Time.time_with_datetime_fallback, Time.utc_time and Time.local_time methods were added to handle the limitations of Ruby's native Time implementation. Those limitations no longer apply so we are deprecating them in 4.0 and they will be removed in 4.1.
* | Beef up tests for String#in_time_zone and Date#in_time_zoneAndrew White2012-12-112-18/+128
| |
* | Deprecate Date#to_time_in_current_zoneAndrew White2012-12-111-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | The to_time_in_current_zone method doesn't match the naming of the methods for converting to ActiveSupport::TimeWithZone on Time and DateTime. Since DateTime inherits from Date that has led to confusion with some users using the to_time_in_current_zone method with DateTime instances and having the time part dropped and the UTC offset lost. This commit fixes this by deprecating the old method and adding a new in_time_zone method which matches the naming for DateTime and Time. This should prevent accidently dropping times and UTC offsets when converting DateTime instances to ActiveSupport::TimeWithZone.
* | Add String#in_time_zone methodAndrew White2012-12-111-24/+44
|/ | | | | | This commit adds a convenience method for converting a string to an ActiveSupport::TimeWithZone instance using the configured Time.zone or another passed as an argument.
* Rename ActiveSupport::BasicObject to ActiveSupport::ProxyObjectFrancesco Rodriguez2012-12-071-2/+2
| | | | | AS::BasicObject is used for proxy classes. Let's give it a less concerning name. Also, it avoids the confusion with Ruby's Basic Object.
* Patched Marshal#load to work with constant autoloading ↵Uriel Katz2012-12-011-0/+124
| | | | (active_support/dependecies.rb) (issue #8167)
* Add #seconds_until_end_of_day to DateTime and TimeOlek Janiszewski2012-11-292-0/+56
|
* Use Integer#div instead of Integer#/ to avoid side effects from mathnMarc-Andre Lafortune2012-11-161-0/+8
|
* backporting Struct#to_h from ruby 2.0Aaron Patterson2012-11-131-0/+10
|
* Test Hash#diff deprecation, also prevent deprecation message in AS testsNikita Afanasenko2012-11-111-1/+3
|
* Kernel#capture replaced by version which can catch output from subprocessesDmitry Vorotilin2012-11-011-0/+2
|
* Fix some assert_raise calls containing messages in Active SupportCarlos Antonio da Silva2012-10-281-6/+13
|
* Implement replace method so key? works correctly.David Graham2012-10-261-0/+12
|
* Revert "remove unnecessary object/conversions file"Xavier Noria2012-10-162-0/+2
| | | | | | | This file is used at least by Active Merchant, its existence is maybe not necessary but no big deal either. This reverts commit ae9b3d7cecd77b9ace38671b183e1a360bf632b6.
* Merge pull request #7007 from Mik-die/hash_extractRafael Mendonça França2012-10-121-1/+25
|\ | | | | make Hash#extract! more symmetric with Hash#slice
| * add more testcases and doc about Hash#extract!Mikhail Dieterle2012-10-081-2/+9
| |
| * make Hash#extract! more symmetric with Hash#sliceMikhail Dieterle2012-10-081-0/+17
| |
* | let (array|hash)/conversions.rb load the extensions in ↵Xavier Noria2012-10-091-2/+0
| | | | | | | | object/to_(param|query).rb
* | adds a missing requireXavier Noria2012-10-091-0/+1
| |
* | adds missing requireXavier Noria2012-10-091-0/+1
| |
* | remove unnecessary object/conversions fileNihad Abbasov2012-10-022-2/+0
|/
* Remove .rb from require sentencesJosé Corcuera Z2012-09-211-1/+1
|
* Merge pull request #7613 from marcandre/delegate_to_classJeremy Kemper2012-09-201-0/+11
|\ | | | | Nice and easy delegation to the class
| * Nice and easy delegation to the classMarc-Andre Lafortune2012-09-111-0/+11
| |
* | Date.beginning_of_week thread local and beginning_of_week application config ↵gregolsen2012-09-181-0/+50
| | | | | | | | option added (default is Monday)
* | Allow passing block to deep_merge and deep_merge!Pranas Kiziela2012-09-131-0/+10
|/ | | | | Hash#merge accepts block that you can use to customize how hash values are merged. This change makes merge and deep_merge compatible.
* &#39 dates back to SGML when &#x27 was introduced in HTML 4.0Kalys Osmonov2012-09-091-1/+1
|
* Fix AS tests due to builder change with nil values / empty stringsCarlos Antonio da Silva2012-09-071-2/+2
| | | | | Check 0180e090ab6cbe66f7b521a0c03e278a0463accd for more reasoning about that.
* Extend HashWithIndifferentAccess#update to take an optional blockLeo Cassarani2012-09-051-0/+23
| | | | | | | | | | | | | When a block is passed into the method, it will be invoked for each duplicated key, with the key in question and the two values as arguments. The value for the duplicated key in the receiver will be set to the return value of the block. This behaviour matches Ruby's long-standing implementation of Hash#update and is intended to provide a more consistent interface. HashWithIndifferentAccess#merge is also affected by the change, as it uses #update internally.
* Merge pull request #7029 from panthomakos/date-and-timeRafael Mendonça França2012-08-254-469/+215
|\ | | | | Refactored common date and time calculations.