aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test
Commit message (Collapse)AuthorAgeFilesLines
* 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
| |
* | Fix #6962. AS::TimeWithZone#strftime responds incorrectly to %:z and %::z ↵kennyj2012-09-201-0/+8
| | | | | | | | format strings.
* | No need to defensively work jobs in another threadJeremy Kemper2012-09-181-1/+1
| |
* | Date.beginning_of_week thread local and beginning_of_week application config ↵gregolsen2012-09-181-0/+50
| | | | | | | | option added (default is Monday)
* | Remove unncessary code.kennyj2012-09-171-1/+0
| |
* | Always run jobs using a consumer, even in synchronous & test queues, to ↵Jeremy Kemper2012-09-163-37/+59
| | | | | | | | ensure shared behavior.
* | set up config_accessor with a default value by blockLarry Lv2012-09-171-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ActiveSupport::Configurable should allow config_accessor to take default value by block, just like cattr_accessor. class User include ActiveSupport::Configurable config_accessor :hair_colors do [:brown, :black, :blonde, :red] end end User.hair_colors # => [:brown, :black, :blonde, :red] * remove trailing whitespaces in configurable.rb and its test file. * Update ActiveSupport CHANGELOG.
* | Move queue classes to ActiveSupportSantiago Pastorino2012-09-143-0/+228
| |
* | 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.
* | Change ActiveSupport::Deprecation to class.Piotr Niełacny2012-09-131-56/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ActiveSupport::Deprecation is now a class rather than a module. You can get instance of ActiveSupport::Deprecation calling #instance method. ActiveSupport::Deprecation.instance But when you need to get new object od ActiveSupport::Deprecation you need to just call #new. @instance = ActiveSupport::Deprecation.new Since you can create a new object, you can change the version and the name of the library where the deprecator concerned. ActiveSupport::Deprecation.new('2.0', 'MyGem') If you need use another deprecator instance you can select it in the options of deprecate method. deprecate :method, :deprecator => deprecator_instance Documentation has been updated.
* | extend ActiveSupport::Deprecation with self, allow other objects to ↵Robert Pankowecki2012-09-131-0/+127
|/ | | | | | | | | | extend/include it also. test local deprecation deprecator object Test ActiveSupport::Deprecation when included
* &#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.
* detect circular constant autoloadingXavier Noria2012-08-283-0/+16
| | | | | | | Nowadays circular autoloads do not work, but the user gets a NameError that says some constant is undefined. That's puzzling, because he is normally trying to autoload a constant he knows can be autoloaded. With this check we can give a better error message.
* Merge pull request #7029 from panthomakos/date-and-timeRafael Mendonça França2012-08-254-469/+215
|\ | | | | Refactored common date and time calculations.
| * Refactored common date and time calculations.Pan Thomakos2012-08-044-469/+215
| | | | | | | | | | | | | | | | * Added the `DateAndTime::Calculations` module that is included in Time and Date. It houses common calculations to reduce duplicated code. * Simplified and cleaned-up the calculation code. * Removed duplication in tests by adding a behavior module for shared tests. I also added some missing tests.
* | Fix ActiveSupport tests that depend on run orderFrancesco Rodriguez2012-08-234-14/+23
| |
* | Revert "Use join without default separator"José Valim2012-08-231-0/+5
| | | | | | | | | | | | This reverts commit b0ab8dc0b2b0f580ffe5ac9ff57fd13152e18577 because it was removing the contents of the message when we did not have any tag. A test case is also committed.
* | skip the memcache tests if the memcache server is not upAaron Patterson2012-08-222-48/+50
| |
* | revises a brittle test in Active SupportXavier Noria2012-08-221-1/+1
| | | | | | | | | | | | | | The revised test assumed that the default permissions of a file matched the umask of the process, but in the general case that depends also on the file system. This test was failing in the /vagrant shared folder of Rails development boxes.
* | Make ActiveSupport::Autoload localJosé Valim2012-08-211-11/+1
| | | | | | | | | | | | | | Previously, ActiveSupport::Autoload was global and reserved for usage inside Rails. This pull request makes it local, fixes its test (they were not being run because its file was named wrongly) and make it part of Rails public API.
* | Add test to cover increment/decrement of non-existing key in MemCacheStoreGuillermo Iguaran2012-08-171-0/+2
| |
* | Replace deprecated `memcache-client` gem with `dalli` in ↵Guillermo Iguaran2012-08-172-9/+9
| | | | | | | | | | | | ActiveSupport::Cache::MemCacheStore memcache-client was deprecated in favour of dalli in 2010.
* | Evented notifications take priority over Timed notificationsEric Saxby2012-08-111-0/+20
| | | | | | | | | | | | | | In cases where a notification subscriber includes methods to support both Evented and Timed events, Evented should take priority over Timed. This allows subscribers to be backwards compatible (older Rails only allows Timed events) while defaulting to newer behavior.
* | Ensure I18n format values always have precedence over defaultsCarlos Antonio da Silva2012-08-112-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Always merge I18n format values, namespaced or not, over the default ones, to ensure I18n format defaults will have precedence over our namespaced values. Precedence should happen like this: default :format default :namespace :format i18n :format i18n :namespace :format Because we cannot allow our namespaced default to override a I18n :format config - ie precision in I18n :format should always have higher precedence than our default precision for a particular :namespace. Also simplify default format options logic.
* | Fallback to :en locale instead of handling a constant with defaultsCarlos Antonio da Silva2012-08-112-3/+38
| | | | | | | | | | | | | | | | Action Pack already comes with a default locale fine for :en, that is always loaded. We can just fallback to this locale for defaults, if values for the current locale cannot be found. Closes #4420, #2802, #2890.
* | Deprecate ActiveSupport::JSON::VariableErich Menge2012-08-071-0/+7
| | | | | | | | | | | | | | | | | | | | Reason: ActiveSupport::JSON::Variable is not used anymore internally. It was deprecated in 3-2-stable but we reverted all the deprecation for point releases. See #6536 and #6546. Conflicts: activesupport/lib/active_support/json/variable.rb
* | defines String#indent [closes #7263] [Xavier Noria & Ace Suares]Xavier Noria2012-08-071-0/+56
| |
* | Merge pull request #7272 from lexmag/string_inquirerRafael Mendonça França2012-08-061-3/+11
|\ \ | | | | | | Add AS::StringInquirer#respond_to? method
| * | Add AS::StringInquirer#respond_to? methodAleksey Magusev2012-08-061-3/+11
| |/ | | | | | | Consistently with #method_missing
* / removes usage of Object#in? from the code base (the method remains defined ↵Xavier Noria2012-08-061-2/+1
|/ | | | | | | | | | | | | | | | | | | by Active Support) Selecting which key extensions to include in active_support/rails made apparent the systematic usage of Object#in? in the code base. After some discussion in https://github.com/rails/rails/commit/5ea6b0df9a36d033f21b52049426257a4637028d we decided to remove it and use plain Ruby, which seems enough for this particular idiom. In this commit the refactor has been made case by case. Sometimes include? is the natural alternative, others a simple || is the way you actually spell the condition in your head, others a case statement seems more appropriate. I have chosen the one I liked the most in each case.
* html_escape should escape single quotesSantiago Pastorino2012-07-311-2/+2
| | | | | https://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet#RULE_.231_-_HTML_Escape_Before_Inserting_Untrusted_Data_into_HTML_Element_Content Closes #7215
* Make ActiveSupport::Inflector locale aware and multilingualDavid Celis2012-07-301-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Inflector is currently not very supportive of internationalized websites. If a user wants to singularize and/or pluralize words based on any locale other than English, they must define each case in locale files. Rather than create large locale files with mappings between singular and plural words, why not allow the Inflector to accept a locale? This patch makes ActiveSupport::Inflector locale aware and uses `:en`` unless otherwise specified. Users will still be provided a list of English (:en) inflections, but they may additionally define inflection rules for other locales. Each list is kept separately and permanently. There is no reason to limit users to one list of inflections: ActiveSupport::Inflector.inflections(:es) do |inflect| inflect.plural(/$/, 's') inflect.plural(/([^aeéiou])$/i, '\1es') inflect.plural(/([aeiou]s)$/i, '\1') inflect.plural(/z$/i, 'ces') inflect.plural(/á([sn])$/i, 'a\1es') inflect.plural(/é([sn])$/i, 'e\1es') inflect.plural(/í([sn])$/i, 'i\1es') inflect.plural(/ó([sn])$/i, 'o\1es') inflect.plural(/ú([sn])$/i, 'u\1es') inflect.singular(/s$/, '') inflect.singular(/es$/, '') inflect.irregular('el', 'los') end 'ley'.pluralize(:es) # => "leyes" 'ley'.pluralize(:en) # => "leys" 'avión'.pluralize(:es) # => "aviones" 'avión'.pluralize(:en) # => "avións" A multilingual Inflector should be of use to anybody that is tasked with internationalizing their Rails application. Signed-off-by: David Celis <david@davidcelis.com>
* Don't test language-level exception messagesJohn Firebaugh2012-07-271-5/+1
| | | | | | Ruby implementations should be free to produce exception messages that are not identical to MRI. For example, Rubinius produces 'Expected an even number, got 5'.
* Add Object#try! with the old NoMethodError raising behaviorDavid Heinemeier Hansson2012-07-271-1/+25
|
* will now return nil instead of raise a NoMethodError if the receiving ↵David Heinemeier Hansson2012-07-271-4/+4
| | | | object does not implement the method
* Revert "Merge pull request #7084 from LTe/logger_default_separator"Aaron Patterson2012-07-181-13/+2
| | | | | This reverts commit c08f30ff5fcda7e07cd9275a073acb2091e4b3f7, reversing changes made to e243a8a32eb4c8777f07ca4b974bd7e38d9477d3.
* Don't use default separatorPiotr Niełacny2012-07-181-2/+13
| | | | When the default separator is set logger will create incorrect output
* Fix class_eval without __FILE__ and __LINE__.kennyj2012-07-181-1/+1
|
* remove duplicate requires of mocha.Aaron Patterson2012-07-031-2/+0
| | | | | Mocha is already required by AS::TestCase, so remove the duplicate requires.
* Improve performance of DateTime#seconds_since_unix_epochAndrew White2012-07-021-0/+1
| | | | | | | | | | | | | | | | | | | Calculate the seconds since the UNIX epoch using the difference in Julian day numbers from the epoch date. By reducing the Rational math to just the offset component this gives a significant improvement. Benchmark: Calculating -------------------------------------------- new 27733 i/100ms current 15031 i/100ms new 27737 i/100ms current 15549 i/100ms -------------------------------------------------------- new 548182.1 (±0.9%) i/s - 2745567 in 5.008943s current 216380.9 (±1.6%) i/s - 1082232 in 5.002781s new 510281.9 (±1.2%) i/s - 2551804 in 5.001525s current 219858.3 (±1.8%) i/s - 1103979 in 5.023039s
* Make Time#change work with offsets other than UTC or localAndrew White2012-07-011-0/+31
| | | | | Use Time.new to create times where the current offset is not zero or not in the local time zone - closes #4847 and #6651.
* Fix failing test in file update checkerCarlos Antonio da Silva2012-06-291-2/+3
| | | | | | | | Introduced in 1abe31670fdad2c357b4356b40a4567a46d16693 The test was failing when running on isolation, because the extensions were not being loaded, thus 1.year.from_now was failing. Just use mktime instead, adding 1 year to Time.now.
* fix FileUpdateChecker when file has wrong mtime (from future)abonec2012-06-291-0/+14
|
* Ensure Array#to_sentence does not modify given hashCarlos Antonio da Silva2012-06-262-0/+11
| | | | | Also simplify I18n logic for Array#to_sentence, doing only one lookup for all keys and using merge!, instead of one lookup for each option key.
* Get rid of the clear_i18n hack by using a different localeCarlos Antonio da Silva2012-06-241-20/+10
| | | | | Use a different and very specific locale for testing currency negative format, and an empty store for currency defaults.
* Move number helper i18n related tests to ASCarlos Antonio da Silva2012-06-241-0/+124
| | | | | They also make more sense here since all the related logic with I18n is handled by AS::NumberHelper, and not by AV anymore.
* Adds missing inflector tests to ensure idempotencyGodfrey Chan2012-06-212-0/+12
| | | | | | | | | | | | | This is a follow up to #4719. It appears that singularize and pluralize are supposed to be idempotent - i.e. when you call singularize or pluralize multiple times on the same string, you should get the same result. (At least for the "officially supported" cases that the stock inflector is designed to handle.) #4719 added the missing tests for regular cases, and this commit added the missing tests for the irregularities. While I'm at that, I also synced up the irregularity test cases with the current set of irregularity cases that we ship out-of-the-box.