[#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:67373] [ruby-trunk - Bug #10703] [Open] Invalid Dates Bug Patch

From: imranwebpost@...
Date: 2015-01-07 03:48:16 UTC
List: ruby-core #67373
Issue #10703 has been reported by Imran "".

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

* Author: Imran ""
* Status: Open
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
* 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="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 == 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 == 0
            if year%400 == 0
              super
            else
              raise ArgumentError, 'argument out of range _ FEB', caller
            end
          else
            if year%4 == 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 same algorithm but a slightly different approach, is available at: <a href="http://otherimran.wordpress.com/2015/01/02/ruby-invalid-dates-patch/">otherimran.wordpress.com</a>

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

That’s just me, exercising my right to politely protest the decision made by Ruby maintainers. I hope they would reconsider and fix it internally.

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


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

In This Thread

Prev Next