aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #17980 from gsamokovarov/rescuable-case-operatorRafael Mendonça França2014-12-161-2/+27
|\ | | | | Add class level case operator support for error dispatching in Rescuable
| * Add class level case operator support for error dispatching in RescuableGenadi Samokovarov2014-12-101-2/+27
| |
* | Add test for `:skip_after_callbacks_if_terminated`claudiob2014-12-141-15/+33
|/ | | | | | | | | | `define_callbacks` from `ActiveSupport::Callbacks` accepts the `:skip_after_callbacks_if_terminated` option since #4866 but the option is not tested anywhere. This commit adds tests and fixes documentation for the option, making it clear that halting a callback chain only stops following `before_` and `around_` callbacks by default.
* Remove "rescue" clause around "require 'openssl'"claudiob2014-12-032-22/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some `require 'openssl'` statements were surrounded by `rescue` blocks to deal with Ruby versions that did not support `OpenSSL::Digest::SHA1` or `OpenSSL::PKCS5`. [As @jeremy explains](https://github.com/rails/rails/commit/a6a0904fcb12b876469c48b1c885aadafe9188cf#commitcomment-8826666) in the original commit: > If jruby didn't have jruby-openssl gem, the require wouldn't work. Not sure whether either of these are still relevant today. According to the [release notes for JRuby 1.7.13](http://www.jruby.org/2014/06/24/jruby-1-7-13.html): > jruby-openssl 0.9.5 bundled which means the above `rescue` block is not needed anymore. All the Ruby versions supported by the current version of Rails provide those OpenSSL libraries, so Travis CI should also be happy by removing the `rescue` blocks. --- Just to confirm, with JRuby: $ ruby --version #=> jruby 1.7.16.1 (1.9.3p392) 2014-10-28 4e93f31 on Java HotSpot(TM) 64-Bit Server VM 1.8.0_20-b26 +jit [darwin-x86_64] $ irb irb(main):001:0> require 'openssl' #=> true irb(main):002:0> OpenSSL::Digest::SHA1 #=> OpenSSL::Digest::SHA1 irb(main):003:0> OpenSSL::PKCS5 # => OpenSSL::PKCS5 And with Ruby 2.1: $ ruby --version #=> ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0] $ irb irb(main):001:0> require 'openssl' #=> true irb(main):002:0> OpenSSL::Digest::SHA1 #=> OpenSSL::Digest::SHA1 irb(main):003:0> OpenSSL::PKCS5 #=> OpenSSL::PKCS5
* Add `#verified` and `#valid_message?` to MessageVerifierLogan Leger2014-12-011-16/+24
| | | | | | | | | | | This commit adds a `#verified` method to `ActiveSupport::MessageVerifier` which will return either `false` when it encounters an error or the message. `#verify` continues to raise an `InvalidSignature` exception on error. This commit also adds a convenience boolean method on `MessageVerifier` as a way to check if a message is valid without performing the decoding.
* Pass symbol as an argument instead of a blockErik Michaels-Ober2014-11-297-15/+11
|
* dependencies.rb: keep the decorated #load and #require private [closes #17553]Xavier Noria2014-11-101-0/+12
|
* Merge pull request #17493 from petewest/duration-comparableAaron Patterson2014-11-071-0/+12
|\ | | | | Delegate comparison operator to value
| * Delegate comparison operator to valuePeter West2014-11-031-0/+12
| |
* | Fix grouped expression warning - `warning: (...) interpreted as grouped ↵Vipul A M2014-11-061-2/+2
| | | | | | | | expression`
* | added example of squish!, remove, test case for multiple occurrence ofRishi Jain2014-11-061-0/+6
| | | | | | | | | | | | | | | | pattern removal added example for string#remove and test case for remove of multiple occurence of pattern removed extra whitespaces
* | Merge pull request #15956 from zuhao/refactor_activesupport_dependencies_testYves Senn2014-11-051-101/+124
|\ \ | | | | | | | | | Cleanup loaded features and constants after dependency tests.
| * | Cleanup loaded features and constants after dependency tests.Zuhao Wan2014-06-281-100/+116
| | |
* | | tests, add note about the usage of a specific timezone. Closes #17448.Yves Senn2014-11-051-1/+1
| | |
* | | Merge pull request #17515 from prathamesh-sonpatki/rm-requireYves Senn2014-11-051-1/+0
|\ \ \ | | | | | | | | Removed the unused require of proxy_object
| * | | Removed the unused require of proxy_object and test related to itPrathamesh Sonpatki2014-11-051-1/+0
| | |/ | |/| | | | | | | | | | - Reference : https://github.com/rails/rails/pull/17493#issuecomment-61739359 - Duration stopped inheriting from ProxyObject in https://github.com/rails/rails/pull/16574
* / | Fix broken string_ext_test due to change in timezonePrathamesh Sonpatki2014-11-051-1/+1
|/ / | | | | | | | | - Russian time was changed to UTC+3 from UTC+4 recently. This broke the string_to_ext test.
* | Merge pull request #17383 from rwz/string-removeRafael Mendonça França2014-11-031-2/+12
|\ \ | | | | | | | | | | | | | | | | | | Make `String#remove` and `String#remove!` accept multiple arguments Conflicts: activesupport/CHANGELOG.md
| * | Make `String#remove` and `String#remove!` accept multiple argumentsPavel Pravosud2014-10-251-2/+12
| | |
* | | 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.