[#67346] Future of test suites for Ruby — Charles Oliver Nutter <headius@...>

I'll try to be brief so we can discuss all this. tl;dr: RubySpec is

19 messages 2015/01/05

[ruby-core:67377] [ruby-trunk - Bug #10703] Invalid Dates Bug Patch

From: akr@...
Date: 2015-01-07 05:58:35 UTC
List: ruby-core #67377
Issue #10703 has been updated by Akira Tanaka.

Duplicates Bug #10588: Invalid Dates added

----------------------------------------
Bug #10703: Invalid Dates Bug Patch
https://bugs.ruby-lang.org/issues/10703#change-50820

* Author: Imran ""
* Status: Open
* Priority: Normal
* Assignee:=20
* Category:=20
* Target version:=20
* ruby -v: 2.0.0-p481
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
The following is a pure Ruby-based patch to address the issues raised in <a=
 href=3D"http://bugs.ruby-lang.org/issues/10588"> Bug 10588 Invalid Dates</=
a>:

~~~
class SmartTime < Time
  def self.mktime year, month, day
    case month
    when 4, 6, 9, 11
      if day =3D=3D 31
        raise ArgumentError, 'argument out of range _ APR, JUNE, SEP, NOV',=
 caller
      else
        super
      end
    when 2
        case day
        when 30, 31
          raise ArgumentError, 'argument out of range _ FEB', caller
        when 29
          if year%100 =3D=3D 0
            if year%400 =3D=3D 0
              super
            else
              raise ArgumentError, 'argument out of range _ FEB', caller
            end
          else
            if year%4 =3D=3D 0
              super
            else
              raise ArgumentError, 'argument out of range _ FEB', caller
            end
          end
        else
          super
        end
    else
      super
    end
  end
end
~~~

Another version of this patch with a light-hearted commentary, using the sa=
me algorithm but a slightly different approach, is available at: <a href=3D=
"http://otherimran.wordpress.com/2015/01/02/ruby-invalid-dates-patch/">othe=
rimran.wordpress.com</a>

Ruby is a mature, productive programming tool. It=E2=80=99s not a silly toy=
. It doesn=E2=80=99t deserve to have such dumb bugs lurking inside its core=
 classes.

That=E2=80=99s just me, exercising my right to politely protest the decisio=
n made by Ruby maintainers. I hope they would reconsider and fix it interna=
lly.

---Files--------------------------------
SmartTime.rb (953 Bytes)


--=20
https://bugs.ruby-lang.org/

In This Thread

Prev Next