aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test
Commit message (Collapse)AuthorAgeFilesLines
* Remove redundant `to_s` in interpolationclaudiob2014-10-301-1/+1
|
* Optimize TimeWithZoneTest#strftimePablo Herrero2014-10-271-0/+5
|
* fixes circularity check in dependenciesXavier Noria2014-10-253-0/+28
| | | | | | | | | | The check for circular loading should depend on a stack of files being loaded at the moment, rather than the collection of loaded files. This showed up indirectly in #16468, where a misspelled helper would incorrectly result in a circularity error message. References #16468
* Add AS::SecurityUtils.secure_compare for constant time string comparisonGuillermo Iguaran2014-10-231-0/+9
|
* Bring try! into parity with try.Ari Pollak2014-10-221-4/+8
| | | | Based on commit 5e51bdda.
* Add necessary 'require reverse_merge' to HAWI.rbclaudiob2014-10-171-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hashes with indifferent access should support `reverse_merge` out-of-the-box but they don't; for instance the following code fails: ```ruby require 'active_support' require 'active_support/hash_with_indifferent_access' hash = HashWithIndifferentAccess.new key: :old_value hash.reverse_merge key: :new_value ``` This PR fixes the case above by simply requiring `active_support/core_ext/hash/reverse_merge` in `hash_with_indifferent_access.rb` and adding a test that confirms the fix. --- Here are more details about the bugfix. Currently, `reverse_merge` is [defined in HashWithIndifferentAccess](https://github.com/rails/rails/blob/4e8ea13ba1a0870905a46fac5f232d9f41eef8a4/activesupport/lib/active_support/hash_with_indifferent_access.rb#L208) by invoking `super`, that is by invoking `Hash#reverse_merge`: ```ruby def reverse_merge(other_hash) super(self.class.new_from_hash_copying_default(other_hash)) end ``` However, Ruby's `Hash` does not have the `reverse_merge` by default: it must be added by ActiveSupport, and that requires the following line of code to be present: ```ruby require 'active_support/core_ext/hash/reverse_merge' ```
* Replace Enumerable#reverse.each with Enumerable#reverse_eachErik Michaels-Ober2014-10-131-2/+2
|
* fix autoload testsfillman2014-10-051-6/+17
|
* Fix underscore inflector handling of adjacent acronymsJames Le Cuirot2014-10-031-0/+3
| | | | | | | | | | | | | I suspect that positive lookbehind would have been used in the original implementation had it been available in supported Ruby versions at the time. Now that Rails requires Ruby 1.9.2 or above, this is no longer an issue. This fixes #14146 for acronyms such as APIRESTful. This technique also addresses namespaced acronyms that are not entirely uppercased. This was broken when the commit was originally written but has since been fixed in ccbb481. The latter does not deal with adjacent acronyms so this commit wins.
* define hash on durationlsylvester2014-10-031-0/+4
|
* Use Hash#each_key instead of Hash#keys.eachErik Michaels-Ober2014-09-291-1/+1
| | | | | | Hash#keys.each allocates an array of keys; Hash#each_key iterates through the keys without allocating a new array. This is the reason why Hash#each_key exists.
* Fix another false assertionsYuki Nishijima2014-09-211-2/+2
| | | | | | | | | | | | * The assertions in AS::Duration don't actually assert. * The assertion in Railtie will pass even when `eager_load_namespaces` doesn't include `AppTemplate::Application` if `Rails.application` is truthy. For more details, see here: * https://github.com/rails/rails/pull/16998 * https://github.com/rails/rails/pull/17000
* Delegation works with reserved words passed to `:to`Agis-2014-09-191-0/+11
| | | | Fixes #16956.
* Merge pull request #11794 from yoazt/duration-eqlRafael Mendonça França2014-09-171-0/+4
|\ | | | | | | | | | | | | | | | | Added method `#eql?` to `ActiveSupport::Duration`, in addition to `#==`. Conflicts: activesupport/CHANGELOG.md activesupport/lib/active_support/duration.rb activesupport/test/core_ext/duration_test.rb
| * Added method `#eql?` to `ActiveSupport::Duration`, in addition to `#==`.Joost Lubach2013-08-071-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the following returns `false`, contrary to expectation: 1.minute.eql?(1.minute) Adding method `#eql?` will make this behave like expected. Method `#eql?` is just a bit stricter than `#==`, as it checks whether the argument is also a uration. Their parts may be different though. 1.minute.eql?(60.seconds) # => true 1.minute.eql?(60) # => false
* | As of Unicode 6.3, Mongolian Vowel Separator is not whitespaceMatthew Draper2014-09-151-3/+3
| | | | | | | | | | Ruby 2.2 knows this, and no longer matches it with [[:space:]], so it's not a good candidate for testing String#squish.
* | add implementation of respond_to? for ActiveSupport::Durationlsylvester2014-09-152-1/+10
| |
* | Time#change can now change nanoseconds (:nsec)Agis-2014-09-141-0/+7
| | | | | | | | Closes #16392.
* | MessageVerifier raises an appropriate exception if the secret is nilKostiantyn Kahanskyi2014-09-121-0/+7
| | | | | | | | | | Otherwise this will lead to another error later on when generating a signature: TypeError (no implicit conversion of nil into String).
* | Default to sorting user's test cases for nowGodfrey Chan2014-09-082-1/+48
| | | | | | | | | | | | | | | | | | | | | | Goals: 1. Default to :random for newly generated applications 2. Default to :sorted for existing applications with a warning 3. Only show the warning once 4. Only show the warning if the app actually uses AS::TestCase Fixes #16769
* | Fix for inflector's incorrect camelCase replacement for acronymsMatthew Draper2014-09-062-0/+2
| | | | | | | | | | | | Fixes #8015, #9756. [Fred Wu & Matthew Draper]
* | Time#change throws exception with an out-of-range :usecAgis-2014-09-041-0/+1
| | | | | | | | | | | | | | | | | | | | https://github.com/rails/rails/commit/98b46bf5e201307cae56ee14bf41363a539779c5 did not properly handled out-of-range `:usec`s. Passing a `:usec` that's out of range now throws an `ArgumentError` as it should. Fixes #16759.
* | Methods are not duplicable.Peter Jaros2014-09-031-1/+1
| |
* | Leave all our tests as order_dependent! for nowMatthew Draper2014-09-021-0/+5
| | | | | | | | | | | | | | | | | | We're seeing too many failures to believe otherwise. This reverts commits bc116a55ca3dd9f63a1f1ca7ade3623885adcc57, cbde413df3839e06dd14e3c220e9800af91e83ab, bf0a67931dd8e58f6f878b9510ae818ae1f29a3a, and 2440933fe2c27b27bcafcd9019717800db2641aa.
* | Use `safe_constantize`.Guo Xiang Tan2014-09-023-0/+40
| | | | | | | | Fixes https://github.com/rails/rails/issues/9933.
* | Bring back the test cases for `presence`Godfrey Chan2014-08-291-0/+5
| | | | | | | | This was removed by mistake in 5e51bdd
* | We tenderized the wrong method! Object#try already had the yield option, ↵David Heinemeier Hansson2014-08-292-10/+4
| | | | | | | | just needed some tenderloving instance_eval to fit the bill
* | Clarify the origin of this great addition to Rails :trollface: :trollface ↵David Heinemeier Hansson2014-08-291-1/+1
| | | | | | | | :trollface:
* | Use instance_eval on @tenderlove's suggestion :trollface:David Heinemeier Hansson2014-08-291-2/+2
| |
* | Added yield to Object#presenceDavid Heinemeier Hansson2014-08-291-0/+5
| |
* | Keep the first string we fetchMatthew Draper2014-08-271-1/+1
| | | | | | | | Otherwise, it's possible for GC to run in between, and fail the test.
* | [ci skip] use proper apostropheankit19102014-08-251-1/+1
| |
* | Skip #eql? tests on Rubinius for AS::DurationRobin Dupret2014-08-241-0/+3
| | | | | | | | | | | | | | | | | | Since Rubinius is relying on #instance_of? for its definition of #eql? (http://git.io/MtmbbA) but ActiveSupport::Duration should behave like is_a? it returns true with `Fixnum`. Thus, for the moment, the last assertion is failing so we have to skip this test.
* | Follow-up to #16560Robin Dupret2014-08-241-5/+6
| | | | | | | | | | | | | | For the sake of backward-compatibility, we need to make #instance_of? return true for Fixnum. On the other hand, the method should still give true for ActiveSupport::Duration itself which was not the case before.
* | Merge pull request #16560 from robin850/rbx-duration-eqlRafael Mendonça França2014-08-221-0/+5
|\ \ | | | | | | Define the Duration#instance_of? method
| * | Define the Duration#instance_of? methodRobin Dupret2014-08-181-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Duration is extending from ProxyObject which extends itself from BasicObject, the Duration object doesn't respond to the #instance_of? method. Thus, the #method_missing hook get triggered, delegating the method to its `value` attribute. However, Rubinius' #eql? definition relies on #instance_of?, thus this will equal to true with a Fixnum (since its `value` attribute is a Fixnum) while it should not. The previous behavior was wrong anyway, no matter the implementation.
* | | Fixes the digits counter of AS's NumberToRoundedConverterXavier Noria2014-08-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Zero has one digit, but Math.log10(0) returns -Infinity. The method needs to special-case zero. The patch adds a regression test that is not clearly related to the underlying issue because digit_count is private and has no coverage. Gray area. This bug was uncovered by 60062cf.
* | | Move as/test_test to as/test_case_testZachary Scott2014-08-191-0/+0
| | |
* | | Move date and time requires to time_travel_test, also includeZachary Scott2014-08-192-2/+4
| | | | | | | | | | | | | | | | | | 'abstract_unit'. cc #16564
* | | Move TimeHelperTest to TimeTravelTest from `as/test_test.rb`Zachary Scott2014-08-192-69/+68
| | |
* | | "warning: assigned but unused variable"Akira Matsuda2014-08-191-1/+0
|/ /
* | Expectations firstAkira Matsuda2014-08-181-4/+4
| |
* | Fix rounding errors with #travel_to by resetting the usec on any passed time ↵David Heinemeier Hansson2014-08-171-3/+10
| | | | | | | | to zero, so we only travel with per-second precision, not anything deeper than that.
* | Avoid mutating the constants in a test caseAkira Matsuda2014-08-162-6/+4
| |
* | Avoid polluting String class globally in a test caseAkira Matsuda2014-08-161-8/+13
| |
* | Unused ivar in a test suiteAkira Matsuda2014-08-161-1/+0
| |
* | AS tests are now order_independent!Akira Matsuda2014-08-131-5/+0
| |
* | Reset ActiveSupport::Dependencies.mechanism to make tests order independentAkira Matsuda2014-08-131-6/+10
| |
* | Duplicated method in the test helperAkira Matsuda2014-08-131-7/+0
| |
* | Nobody sucks so nobody should call this awful method nameRafael Mendonça França2014-08-121-1/+1
| |