1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/activesupport/test
Alexei Emam 1a48d50363 Disallow all non-numerics as Duration.build input, Fixes #37012
Prevent `ActiveSupport::Duration.build(value)` from creating instances of
    `ActiveSupport::Duration` unless `value` is of type `Numeric`.

    Addresses the errant set of behaviours described in #37012 where
    `ActiveSupport::Duration` comparisons would fail confusingly
    or return unexpected results when comparing durations built from instances of `String`.

    Before:

        small_duration_from_string = ActiveSupport::Duration.build('9')
        large_duration_from_string = ActiveSupport::Duration.build('100000000000000')
        small_duration_from_int = ActiveSupport::Duration.build(9)

        large_duration_from_string > small_duration_from_string
            => false

        small_duration_from_string == small_duration_from_int
            => false

        small_duration_from_int < large_duration_from_string
            => ArgumentError (comparison of ActiveSupport::Duration::Scalar
                    with ActiveSupport::Duration failed)

        large_duration_from_string > small_duration_from_int
            => ArgumentError (comparison of String with ActiveSupport::Duration failed)

    After:

        small_duration_from_string = ActiveSupport::Duration.build('9')
            => TypeError (can't build an `ActiveSupport::Duration` from a `String`)
2019-08-27 16:58:09 +01:00
..
autoloading_fixtures Fix safe_constantize to not raise a LoadError. 2019-01-09 14:52:46 -05:00
cache Fix assertion in test_delete_multi 2019-08-27 12:46:45 +03:00
concurrency Prevent deadlocks with load interlock and DB lock. 2017-11-09 10:46:01 -05:00
core_ext Disallow all non-numerics as Duration.build input, Fixes #37012 2019-08-27 16:58:09 +01:00
dependencies Improve the logic that detects non-autoloaded constants 2018-10-28 16:34:50 +01:00
deprecation Enable Layout/EmptyLinesAroundAccessModifier cop 2019-06-13 12:00:45 +09:00
file_fixtures
fixtures Do nothing when the same block is included again. 2018-11-29 18:37:06 +00:00
json Enable Layout/EmptyLinesAroundAccessModifier cop 2019-06-13 12:00:45 +09:00
messages Fix RotationConfiguration test and remove nil-kind rotates. 2017-09-24 22:58:17 +02:00
metadata Remove redundant travel_back 2018-08-31 16:19:58 +09:00
notifications Update AS::Notifications::Instrumenter#instrument 2019-03-22 10:01:18 -04:00
testing assert_called_with should require args argument 2018-10-25 21:29:39 +03:00
xml_mini Add Style/RedundantFreeze to remove redudant .freeze 2018-09-29 07:18:44 +00:00
abstract_unit.rb Revert "MethodCallAssertions is a regular player of the team ActiveSupport::TestCase now" 2019-08-02 00:24:21 -04:00
actionable_error_test.rb Refactor after the most recent code review 2019-04-19 14:15:41 +09:00
array_inquirer_test.rb Use assert_predicate and assert_not_predicate 2018-01-25 23:32:59 -05:00
autoload_test.rb [Active Support] rubocop -a --only Layout/EmptyLineAfterMagicComment 2017-07-11 13:12:32 +09:00
benchmarkable_test.rb Change the empty block style to have space inside of the block 2018-09-25 13:19:35 -04:00
broadcast_logger_test.rb Merge pull request #34055 from Edouard-chin/ec-logger-fix 2018-10-03 16:45:53 -04:00
callback_inheritance_test.rb Define callbacks on descendants. 2018-02-06 16:05:39 -05:00
callbacks_test.rb Use match? where we don't need MatchData 2019-07-29 14:23:10 +09:00
class_cache_test.rb Replace assert ! with assert_not 2018-04-19 08:11:33 -04:00
clean_backtrace_test.rb Use backtrace cleaner to clean up backtrace for verbose query logs 2018-08-14 09:15:28 +10:00
clean_logger_test.rb [Active Support] rubocop -a --only Layout/EmptyLineAfterMagicComment 2017-07-11 13:12:32 +09:00
concern_test.rb Do nothing when the same block is included again. 2018-11-29 18:37:06 +00:00
configurable_test.rb Use respond_to test helpers 2018-01-25 23:32:58 -05:00
constantize_test_cases.rb Fix safe_constantize to not raise a LoadError. 2019-01-09 14:52:46 -05:00
current_attributes_test.rb Use try only when we're unsure if the receiver would respond_to the method 2019-08-01 17:58:00 +09:00
dependencies_test.rb let autoloaded? support modules with overridden names [closes #36757] 2019-07-25 23:14:29 +02:00
dependencies_test_helpers.rb [Active Support] rubocop -a --only Layout/EmptyLineAfterMagicComment 2017-07-11 13:12:32 +09:00
deprecation_test.rb Fix problem with accessing constant proxy subclass 2019-07-05 12:38:58 +09:00
descendants_tracker_test_cases.rb Enable Layout/EmptyLinesAroundAccessModifier cop 2019-06-13 12:00:45 +09:00
descendants_tracker_with_autoloading_test.rb Use assert_empty and assert_not_empty 2018-01-25 23:32:59 -05:00
descendants_tracker_without_autoloading_test.rb Replace assert ! with assert_not 2018-04-19 08:11:33 -04:00
digest_test.rb Don't include ellipsis in truncated digest output 2017-12-17 00:49:02 +00:00
encrypted_configuration_test.rb Bugfix: ActiveSupport::EncryptedConfiguration reading of comment-only encrypted files (#34014) 2018-10-05 08:06:33 +09:00
encrypted_file_test.rb Raise an error only when require_master_key is specified 2017-12-18 08:04:15 +09:00
evented_file_update_checker_test.rb Merge pull request #36340 from jhawthorn/evented_file_checker_symlink 2019-05-24 16:08:43 -05:00
executor_test.rb Change the empty block style to have space inside of the block 2018-09-25 13:19:35 -04:00
file_update_checker_shared_tests.rb Lazily evaluate FileUpdateCheckerSharedTests when being included 2019-08-02 06:21:14 +09:00
file_update_checker_test.rb [Active Support] rubocop -a --only Layout/EmptyLineAfterMagicComment 2017-07-11 13:12:32 +09:00
gzip_test.rb Fix CustomCops/AssertNot to allow it to have failure message 2018-05-13 11:32:47 +09:00
hash_with_indifferent_access_test.rb Support multiple arguments in HashWithIndifferentAccess for merge and update methods 2019-08-07 20:41:07 +02:00
i18n_test.rb [Active Support] rubocop -a --only Layout/EmptyLineAfterMagicComment 2017-07-11 13:12:32 +09:00
inflector_test.rb Fix bug with parametrize when locale is passed 2019-03-12 01:48:21 +05:30
inflector_test_cases.rb Fix titleize to work with parentheses (#37029) 2019-08-24 03:10:47 +02:00
key_generator_test.rb Remove unused requires 2018-08-17 12:51:14 +09:00
lazy_load_hooks_test.rb Enable Layout/EmptyLinesAroundAccessModifier cop 2019-06-13 12:00:45 +09:00
log_subscriber_test.rb cpu_time and allocations are 0 when JRuby is used 2018-07-30 15:10:30 +00:00
logger_test.rb Make ActiveSupport::Logger Fiber-safe 2019-07-24 22:42:24 +03:00
message_encryptor_test.rb Use match? where we don't need MatchData 2019-07-27 13:06:49 +09:00
message_verifier_test.rb Replace assert ! with assert_not 2018-04-19 08:11:33 -04:00
multibyte_chars_test.rb Add AS::Multibyte::Chars#match? 2019-07-29 14:17:36 +09:00
multibyte_conformance_test.rb Deprecate Unicode#normalize and Chars#normalize (#34202) 2018-10-12 08:40:29 -07:00
multibyte_grapheme_break_conformance_test.rb Deprecate Unicode's #pack_graphemes and #unpack_graphemes methods 2018-10-18 14:10:30 -07:00
multibyte_normalization_conformance_test.rb Deprecate Unicode#normalize and Chars#normalize (#34202) 2018-10-12 08:40:29 -07:00
multibyte_proxy_test.rb [Active Support] rubocop -a --only Layout/EmptyLineAfterMagicComment 2017-07-11 13:12:32 +09:00
multibyte_test_helpers.rb ⚠️ calling URI.open via Kernel#open is deprecated, call URI.open directly 2019-08-16 22:36:45 +09:00
notifications_test.rb Merge pull request #36318 from itsWill/fix_event_object_payload 2019-07-25 16:47:03 -04:00
number_helper_i18n_test.rb Enable Layout/LeadingCommentSpace to not allow cosmetic changes in the future 2017-12-14 17:30:54 +09:00
number_helper_test.rb Enable Layout/LeadingCommentSpace to not allow cosmetic changes in the future 2017-12-14 17:30:54 +09:00
option_merger_test.rb [Active Support] rubocop -a --only Layout/EmptyLineAfterMagicComment 2017-07-11 13:12:32 +09:00
ordered_hash_test.rb [Active Support] rubocop -a --only Layout/EmptyLineAfterMagicComment 2017-07-11 13:12:32 +09:00
ordered_options_test.rb Replace assert ! with assert_not 2018-04-19 08:11:33 -04:00
parameter_filter_test.rb Use match? where we don't need MatchData 2019-07-29 14:23:10 +09:00
reloader_test.rb Change the empty block style to have space inside of the block 2018-09-25 13:19:35 -04:00
rescuable_test.rb [Active Support] rubocop -a --only Layout/EmptyLineAfterMagicComment 2017-07-11 13:12:32 +09:00
safe_buffer_test.rb Preserve html_safe? status on ActiveSupport::SafeBuffer#* 2019-04-19 06:32:55 +09:00
secure_compare_rotator_test.rb Use correct variable in secure_compare! 2019-07-26 12:51:53 +09:00
security_utils_test.rb Replace assert ! with assert_not 2018-04-19 08:11:33 -04:00
share_lock_test.rb Enable Layout/EmptyLinesAroundAccessModifier cop 2019-06-13 12:00:45 +09:00
silence_logger_test.rb Don't use deprecated LoggerSilence 2018-10-04 08:23:49 +09:00
string_inquirer_test.rb Use assert_predicate and assert_not_predicate 2018-01-25 23:32:59 -05:00
subscriber_test.rb Enable Layout/EmptyLinesAroundAccessModifier cop 2019-06-13 12:00:45 +09:00
tagged_logging_test.rb Merge pull request #27792 from tjoyal/sandbox-tagged-logging 2018-09-11 19:33:59 -04:00
test_case_test.rb Enable Layout/EmptyLinesAroundAccessModifier cop 2019-06-13 12:00:45 +09:00
time_travel_test.rb ActiveSupport typo fixes. 2019-02-01 22:17:10 +05:30
time_zone_test.rb Revert "Use assert_match / assert_no_match for asserting match" 2019-07-29 14:17:36 +09:00
time_zone_test_helpers.rb Fix exception in AS::Timezone.all when any tzinfo data is missing 2018-04-18 21:45:13 +02:00
transliterate_test.rb Prevent error on transliterate with frozen strings. 2019-07-31 12:11:31 -04:00
xml_mini_test.rb Missing require AS/core_ext/date/conversions 2019-08-02 13:18:01 +09:00