summaryrefslogtreecommitdiff
path: root/test/date
Commit message (Collapse)AuthorAgeFilesLines
* [ruby/date] Implement Date#deconstruct_keys and DateTime#deconstruct_keyszverok2022-12-131-0/+29
| | | | https://github.com/ruby/date/commit/6bb6d3a810
* [ruby/date] Fix misplaced time zone offset checksNobuyoshi Nakada2022-10-071-0/+5
| | | | https://github.com/ruby/date/commit/d21c69450a
* [ruby/date] The shrunk words to be copied is limitedNobuyoshi Nakada2022-09-291-0/+1
| | | | | | Th buffer size is small enough and no need to allocate dynamically. https://github.com/ruby/date/commit/f62bf0a01d
* [ruby/date] Narrow ALLOCV region for shrunk wordsNobuyoshi Nakada2022-09-291-0/+2
| | | | https://github.com/ruby/date/commit/f51b038074
* [ruby/date] Check time zone offset elementsNobuyoshi Nakada2022-09-281-0/+4
| | | | | | | Too big parts of fractional hour time zone offset can cause assertion failures. https://github.com/ruby/date/commit/06bcfb2729
* [ruby/date] Fix Time#to_datetime before calendar reformNobuyoshi Nakada2022-08-081-0/+17
| | | | | | | | | | Time is always in the proleptic Gregorian calendar. Also DateTime#to_time should convert to the Gregorian calendar first, before extracting its components. https://bugs.ruby-lang.org/issues/18946#change-98527 https://github.com/ruby/date/commit/b2aee75248
* Avoid defining the same test class in multiple filesJeremy Evans2022-04-221-1/+1
| | | | | | | | | Should fix issues with parallel testing sometimes not running all tests. This should be viewed skipping whitespace changes. Fixes [Bug #18731]
* test/date/test_date_parse.rb: relax the time limitYusuke Endoh2022-03-311-2/+2
| | | | | | | | | | | | | The timeout was very strict for weak CI machines like qemu-riscv. Due to the additional overhead for Regexp.timeout=, it started failing on such machines. http://rubyci.s3.amazonaws.com/debian-riscv64/ruby-master/log/20220330T200018Z.fail.html.gz ``` 1) Error: TestDateParse#test__parse_too_long_year: Timeout::Error: execution expired ```
* [ruby/date] Use `assert_deprecated_warn`Nobuyoshi Nakada2022-02-251-6/+6
| | | | https://github.com/ruby/date/commit/c55004715a
* [ruby/date] Deprecate the unintentional ability to parse `Symbol`Nobuyoshi Nakada2022-02-251-6/+6
| | | | https://github.com/ruby/date/commit/d57818f3b3
* [ruby/date] Scale timeoutsNobuyoshi Nakada2022-02-251-3/+3
| | | | https://github.com/ruby/date/commit/2889698e2f
* [ruby/date] Update testsNobuyoshi Nakada2022-02-251-3/+2
| | | | https://github.com/ruby/date/commit/5a138afce9
* [ruby/date] Anchor at beginning of numbersNobuyoshi Nakada2022-02-251-0/+5
| | | | | | https://hackerone.com/reports/1254844 https://github.com/ruby/date/commit/2f7814cc22
* [ruby/date] Anchor at beginning of numbersNobuyoshi Nakada2022-02-251-0/+7
| | | | | | https://hackerone.com/reports/1254844 https://github.com/ruby/date/commit/7ffe25e458
* [ruby/date] Use omit instead of skip for test-unitHiroshi SHIBATA2022-01-121-1/+1
| | | | https://github.com/ruby/date/commit/537f3f681e
* [ruby/date] check_limit: also handle symbolsJean Boussier2021-11-161-0/+24
| | | | https://github.com/ruby/date/commit/376c65942b
* [ruby/date] `Date._<format>(nil)` should return an empty HashJean Boussier2021-11-161-0/+18
| | | | | | | | | | | | | Fix: https://github.com/ruby/date/issues/39 This is how versions previous to 3.2.1 behaved and Active Support currently rely on this behavior. https://github.com/rails/rails/blob/90357af08048ef5076730505f6e7b14a81f33d0c/activesupport/lib/active_support/values/time_zone.rb#L383-L384 Any Rails application upgrading to date `3.2.1` might run into unexpected errors. https://github.com/ruby/date/commit/8f2d7a0c7e
* [ruby/date] Add length limit option for methods that parses date stringsYusuke Endoh2021-11-161-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `Date.parse` now raises an ArgumentError when a given date string is longer than 128. You can configure the limit by giving `limit` keyword arguments like `Date.parse(str, limit: 1000)`. If you pass `limit: nil`, the limit is disabled. Not only `Date.parse` but also the following methods are changed. * Date._parse * Date.parse * DateTime.parse * Date._iso8601 * Date.iso8601 * DateTime.iso8601 * Date._rfc3339 * Date.rfc3339 * DateTime.rfc3339 * Date._xmlschema * Date.xmlschema * DateTime.xmlschema * Date._rfc2822 * Date.rfc2822 * DateTime.rfc2822 * Date._rfc822 * Date.rfc822 * DateTime.rfc822 * Date._jisx0301 * Date.jisx0301 * DateTime.jisx0301 https://github.com/ruby/date/commit/3959accef8
* [ruby/date] Make %v strftime flag use uppercase monthJeremy Evans2021-09-281-1/+1
| | | | | | | | | | | | | | | %v is supposed to be the VMS date, and VMS date format uses an uppercase month. Ruby 1.8 used an uppercase month for %v, but the behavior was changed without explanation in r31672. Time#strftime still uses an uppercase month for %v, so this change makes Date#strftime consistent with Time#strftime. Fixes [Bug #13810] https://github.com/ruby/date/commit/56c489fd7e
* [ruby/date] Fix comparison with Float::INFINITYJeremy Evans2021-07-111-0/+12
| | | | | | Fixes [Bug #17945] https://github.com/ruby/date/commit/953d907238
* [ruby/date] Make Ractor-compatibleMarc-Andre Lafortune2020-12-221-0/+27
|
* [ruby/date] Fix cannot load complex into simple error when loading marshal ↵Jeremy Evans2020-06-201-0/+7
| | | | | | | | | | | | | | | dump (Fixes #20) This problem exists because Marshal.load calls Date.allocate, which uses a SimpleDateData. There doesn't seem to be any support for taking an existing Date instance and converting it from SimpleDateData to ComplexDateData. Work around this issue by making Date.allocate use a ComplexDateData. This causes problems in Date#initialize, so remove the Date#initialize method (keeping the date_initialize function, used internally for Date.civil). Alias Date.new to Date.civil, since they do the same thing. https://github.com/ruby/date/commit/6bb8d8fa0f
* Fixed misspellingsNobuyoshi Nakada2019-12-201-1/+1
| | | | Fixed misspellings reported at [Bug #16437], for default gems.
* [ruby/date] Add more timezone abbreviationsJeremy Evans2019-11-011-0/+1
| | | | | | | | | | | | | | | | This gets the time zone abbreviations from https://www.timeanddate.com/time/zones/, and adds unambiguous time zones not already present in zonetab.list. See bin/update-abbr for the program used. This regenerates zonetab.h using prereq.mk (requires gperf). Only one test line is added, just to make sure a new time zone abbreviation is picked up. Fixes Ruby Bug 16286 https://github.com/ruby/date/commit/702e8b3033
* [ruby/date] Revert "Simplify #inspect"Jeremy Evans2019-10-311-2/+0
| | | | | | | | This reverts commit af01edd7d8575f544f647dbe8cde5b6ae535d459. Revert requested by Yui Naruse. https://github.com/ruby/date/commit/875d563557
* [ruby/date] introduce Date::Error, raise Date::Error for everyglaszig2019-10-313-27/+39
| | | | | | "invalid <anything>" type of exception https://github.com/ruby/date/commit/3e55c09ba4
* Fix typo causing Date.new(year, month) to failJeremy Evans2019-10-241-0/+4
| | | | Add a test for this case.
* [ruby/date] Simplify #inspectzverok2019-10-241-0/+2
| | | | https://github.com/ruby/date/commit/af01edd7d8
* [ruby/date] Remove taint supportJeremy Evans2019-10-242-31/+1
| | | | | | | | Ruby 2.7 deprecates taint and it no longer has an effect. The lack of taint support should not cause a problem in previous versions. https://github.com/ruby/date/commit/519470dc3b
* [ruby/date] Support -Float::INFINITY...date rangesJeremy Evans2019-10-241-0/+13
| | | | | | Fixes Ruby Bug 12961 https://github.com/ruby/date/commit/7f533c2552
* [ruby/date] Check for numeric arguments in constructorsJeremy Evans2019-10-241-0/+50
| | | | | | | | | | | | | | | Previously, the type of these arguments were not checked, leading to NoMethodErrors in some cases, and TypeErrors in other cases, but not showing what field was having the problems. This change makes it so the field with the problem is included in the error message. For the valid_*? methods, this changes them to return false if one of the arguments that should be numeric is not. Fixes Ruby Bug 11935 Fixes Ruby Misc 15298 https://github.com/ruby/date/commit/a2f4b665f8
* [ruby/date] Make julian dates roundtrip through to_time.to_dateJeremy Evans2019-10-241-0/+18
| | | | | | | | | | | | | | | Previously, julian dates would not round trip through to_time.to_date, because Time is always considered gregorian. This converts the Date instance from julian to gregorian before converting to Time, ensuring that an equal date object will be returned if converting that Time back to Date. This does result in julian Date objects showing different day values if converting to Time. Fixes Ruby Bug 8428. https://github.com/ruby/date/commit/d8df64555e
* date_parse.c: avoid copyingNobuyoshi Nakada2019-08-121-1/+2
| | | | | * ext/date/date_parse.c (date_zone_to_diff): get rid of copying the whole argument string.
* Fix Date#step testNobuyoshi Nakada2019-08-071-2/+4
| | | | The document states that "the limit should be a date object".
* Test invalid offset warningsNobuyoshi Nakada2019-07-241-3/+6
|
* Allow mday in Date.iso8601 to be omittedNobuyoshi Nakada2019-07-161-0/+3
| | | | [Bug #12285]
* suppress marshal warningsNobuyoshi Nakada2019-06-041-2/+10
|
* date: support for Reiwa, new Japanese eranobu2019-04-092-0/+26
| | | | | | [Feature #15742] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* date: make zone a substring to copy encoding and taintednessnobu2019-04-031-1/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Added tests for end of Heiseinobu2019-04-012-1/+64
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/date: removed unnecessaruy `__send__`nobu2018-12-112-22/+22
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* date_core.c: moved some methods to DateTimenobu2018-12-111-11/+5
| | | | | | | | * ext/date/date_core.c (Init_date_core): moved methods which make sense only for DateTime to that class, instead of defining private methods in Date and making them public in DateTime. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* date_core.c: respect COMPLEX_DAT bitnobu2018-11-131-0/+8
| | | | | | | * ext/date/date_core.c (d_lite_marshal_load): respect COMPLEX_DAT bit in the pre-allocated structure. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* date_core.c: keep COMPLEX_DAT bitnobu2018-11-131-0/+8
| | | | | | | | * ext/date/date_core.c (d_lite_initialize_copy): do not change COMPLEX_DAT bit, as the structure does not change. initialize member-wise instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Support old versions of Ruby with FrozenError.hsbt2018-08-071-2/+4
| | | | | | They should work separatedly from Ruby core repository. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/date/test_date_base.rb: removedmame2018-04-171-435/+0
| | | | | | It depends upon calendar.so which is not bundled. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* date_core.c: check conversionnobu2018-03-071-0/+14
| | | | | | | * ext/date/date_core.c (offset_to_sec, d_lite_plus): check conversion results, to get rid of infinite recursion. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_date_arith.rb: needs `test_` prefixnobu2018-03-071-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* date_core.c: defensive codenobu2018-02-251-0/+13
| | | | | | | | | * ext/date/date_core.c (f_cmp): check comparison failure. * ext/date/date_core.c (d_lite_step): deal with the comparison result more defensively. [ruby-core:85796] [Bug #14549] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add FrozenError as a subclass of RuntimeErrorshyouhei2017-12-121-2/+2
| | | | | | | | | | | | | | FrozenError will be used instead of RuntimeError for exceptions raised when there is an attempt to modify a frozen object. The reason for this change is to differentiate exceptions related to frozen objects from generic exceptions such as those generated by Kernel#raise without an exception class. From: Jeremy Evans <code@jeremyevans.net> Signed-off-by: Urabe Shyouhei <shyouhei@ruby-lang.org> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e