mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	[ruby/date] introduce Date::Error, raise Date::Error for every
"invalid <anything>" type of exception
3e55c09ba4
			
			
This commit is contained in:
		
							parent
							
								
									e4cd0d7287
								
							
						
					
					
						commit
						fce940aac7
					
				
					 4 changed files with 71 additions and 57 deletions
				
			
		| 
						 | 
				
			
			@ -22,6 +22,7 @@
 | 
			
		|||
 | 
			
		||||
static ID id_cmp, id_le_p, id_ge_p, id_eqeq_p;
 | 
			
		||||
static VALUE cDate, cDateTime;
 | 
			
		||||
static VALUE eDateError;
 | 
			
		||||
static VALUE half_days_in_day, day_in_nanoseconds;
 | 
			
		||||
static double positive_inf, negative_inf;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -3069,7 +3070,7 @@ old_to_new(VALUE ajd, VALUE of, VALUE sg,
 | 
			
		|||
    *rsg = NUM2DBL(sg);
 | 
			
		||||
 | 
			
		||||
    if (*rdf < 0 || *rdf >= DAY_IN_SECONDS)
 | 
			
		||||
	rb_raise(rb_eArgError, "invalid day fraction");
 | 
			
		||||
	rb_raise(eDateError, "invalid day fraction");
 | 
			
		||||
 | 
			
		||||
    if (f_lt_p(*rsf, INT2FIX(0)) ||
 | 
			
		||||
	f_ge_p(*rsf, INT2FIX(SECOND_IN_NANOSECONDS)))
 | 
			
		||||
| 
						 | 
				
			
			@ -3231,7 +3232,7 @@ do {\
 | 
			
		|||
    s = s##_trunc(v##s, &fr);\
 | 
			
		||||
    if (f_nonzero_p(fr)) {\
 | 
			
		||||
	if (argc > n)\
 | 
			
		||||
	    rb_raise(rb_eArgError, "invalid fraction");\
 | 
			
		||||
	    rb_raise(eDateError, "invalid fraction");\
 | 
			
		||||
	fr2 = fr;\
 | 
			
		||||
    }\
 | 
			
		||||
} while (0)
 | 
			
		||||
| 
						 | 
				
			
			@ -3241,7 +3242,7 @@ do {\
 | 
			
		|||
    s = NUM2INT(s##_trunc(v##s, &fr));\
 | 
			
		||||
    if (f_nonzero_p(fr)) {\
 | 
			
		||||
	if (argc > n)\
 | 
			
		||||
	    rb_raise(rb_eArgError, "invalid fraction");\
 | 
			
		||||
	    rb_raise(eDateError, "invalid fraction");\
 | 
			
		||||
	fr2 = fr;\
 | 
			
		||||
    }\
 | 
			
		||||
} while (0)
 | 
			
		||||
| 
						 | 
				
			
			@ -3368,7 +3369,7 @@ date_s_ordinal(int argc, VALUE *argv, VALUE klass)
 | 
			
		|||
			     &nth, &ry,
 | 
			
		||||
			     &rd, &rjd,
 | 
			
		||||
			     &ns))
 | 
			
		||||
	    rb_raise(rb_eArgError, "invalid date");
 | 
			
		||||
	    rb_raise(eDateError, "invalid date");
 | 
			
		||||
 | 
			
		||||
	ret = d_simple_new_internal(klass,
 | 
			
		||||
				     nth, rjd,
 | 
			
		||||
| 
						 | 
				
			
			@ -3452,7 +3453,7 @@ date_initialize(int argc, VALUE *argv, VALUE self)
 | 
			
		|||
	if (!valid_gregorian_p(y, m, d,
 | 
			
		||||
			       &nth, &ry,
 | 
			
		||||
			       &rm, &rd))
 | 
			
		||||
	    rb_raise(rb_eArgError, "invalid date");
 | 
			
		||||
	    rb_raise(eDateError, "invalid date");
 | 
			
		||||
 | 
			
		||||
	set_to_simple(self, dat, nth, 0, sg, ry, rm, rd, HAVE_CIVIL);
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -3464,7 +3465,7 @@ date_initialize(int argc, VALUE *argv, VALUE self)
 | 
			
		|||
			   &nth, &ry,
 | 
			
		||||
			   &rm, &rd, &rjd,
 | 
			
		||||
			   &ns))
 | 
			
		||||
	    rb_raise(rb_eArgError, "invalid date");
 | 
			
		||||
	    rb_raise(eDateError, "invalid date");
 | 
			
		||||
 | 
			
		||||
	set_to_simple(self, dat, nth, rjd, sg, ry, rm, rd, HAVE_JD | HAVE_CIVIL);
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -3526,7 +3527,7 @@ date_s_commercial(int argc, VALUE *argv, VALUE klass)
 | 
			
		|||
				&nth, &ry,
 | 
			
		||||
				&rw, &rd, &rjd,
 | 
			
		||||
				&ns))
 | 
			
		||||
	    rb_raise(rb_eArgError, "invalid date");
 | 
			
		||||
	    rb_raise(eDateError, "invalid date");
 | 
			
		||||
 | 
			
		||||
	ret = d_simple_new_internal(klass,
 | 
			
		||||
				    nth, rjd,
 | 
			
		||||
| 
						 | 
				
			
			@ -3576,7 +3577,7 @@ date_s_weeknum(int argc, VALUE *argv, VALUE klass)
 | 
			
		|||
			     &nth, &ry,
 | 
			
		||||
			     &rw, &rd, &rjd,
 | 
			
		||||
			     &ns))
 | 
			
		||||
	    rb_raise(rb_eArgError, "invalid date");
 | 
			
		||||
	    rb_raise(eDateError, "invalid date");
 | 
			
		||||
 | 
			
		||||
	ret = d_simple_new_internal(klass,
 | 
			
		||||
				    nth, rjd,
 | 
			
		||||
| 
						 | 
				
			
			@ -3625,7 +3626,7 @@ date_s_nth_kday(int argc, VALUE *argv, VALUE klass)
 | 
			
		|||
			      &nth, &ry,
 | 
			
		||||
			      &rm, &rn, &rk, &rjd,
 | 
			
		||||
			      &ns))
 | 
			
		||||
	    rb_raise(rb_eArgError, "invalid date");
 | 
			
		||||
	    rb_raise(eDateError, "invalid date");
 | 
			
		||||
 | 
			
		||||
	ret = d_simple_new_internal(klass,
 | 
			
		||||
				    nth, rjd,
 | 
			
		||||
| 
						 | 
				
			
			@ -4172,7 +4173,7 @@ d_new_by_frags(VALUE klass, VALUE hash, VALUE sg)
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    if (NIL_P(hash))
 | 
			
		||||
	rb_raise(rb_eArgError, "invalid date");
 | 
			
		||||
	rb_raise(eDateError, "invalid date");
 | 
			
		||||
 | 
			
		||||
    if (NIL_P(ref_hash("jd")) &&
 | 
			
		||||
	NIL_P(ref_hash("yday")) &&
 | 
			
		||||
| 
						 | 
				
			
			@ -4189,7 +4190,7 @@ d_new_by_frags(VALUE klass, VALUE hash, VALUE sg)
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    if (NIL_P(jd))
 | 
			
		||||
	rb_raise(rb_eArgError, "invalid date");
 | 
			
		||||
	rb_raise(eDateError, "invalid date");
 | 
			
		||||
    {
 | 
			
		||||
	VALUE nth;
 | 
			
		||||
	int rjd;
 | 
			
		||||
| 
						 | 
				
			
			@ -4749,11 +4750,11 @@ d_lite_initialize(int argc, VALUE *argv, VALUE self)
 | 
			
		|||
	sf = vsf;
 | 
			
		||||
	if (f_lt_p(sf, INT2FIX(0)) ||
 | 
			
		||||
	    f_ge_p(sf, INT2FIX(SECOND_IN_NANOSECONDS)))
 | 
			
		||||
	    rb_raise(rb_eArgError, "invalid second fraction");
 | 
			
		||||
	    rb_raise(eDateError, "invalid second fraction");
 | 
			
		||||
      case 2:
 | 
			
		||||
	df = NUM2INT(vdf);
 | 
			
		||||
	if (df < 0 || df >= DAY_IN_SECONDS)
 | 
			
		||||
	    rb_raise(rb_eArgError, "invalid day fraction");
 | 
			
		||||
	    rb_raise(eDateError, "invalid day fraction");
 | 
			
		||||
      case 1:
 | 
			
		||||
	jd = vjd;
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -6063,7 +6064,7 @@ d_lite_rshift(VALUE self, VALUE other)
 | 
			
		|||
			  &rm, &rd, &rjd, &ns))
 | 
			
		||||
	    break;
 | 
			
		||||
	if (--d < 1)
 | 
			
		||||
	    rb_raise(rb_eArgError, "invalid date");
 | 
			
		||||
	    rb_raise(eDateError, "invalid date");
 | 
			
		||||
    }
 | 
			
		||||
    encode_jd(nth, rjd, &rjd2);
 | 
			
		||||
    return d_lite_plus(self, f_sub(rjd2, m_real_local_jd(dat)));
 | 
			
		||||
| 
						 | 
				
			
			@ -7280,7 +7281,7 @@ datetime_s_jd(int argc, VALUE *argv, VALUE klass)
 | 
			
		|||
	int rh, rmin, rs, rjd, rjd2;
 | 
			
		||||
 | 
			
		||||
	if (!c_valid_time_p(h, min, s, &rh, &rmin, &rs))
 | 
			
		||||
	    rb_raise(rb_eArgError, "invalid date");
 | 
			
		||||
	    rb_raise(eDateError, "invalid date");
 | 
			
		||||
	canon24oc();
 | 
			
		||||
 | 
			
		||||
	decode_jd(jd, &nth, &rjd);
 | 
			
		||||
| 
						 | 
				
			
			@ -7359,9 +7360,9 @@ datetime_s_ordinal(int argc, VALUE *argv, VALUE klass)
 | 
			
		|||
			     &nth, &ry,
 | 
			
		||||
			     &rd, &rjd,
 | 
			
		||||
			     &ns))
 | 
			
		||||
	    rb_raise(rb_eArgError, "invalid date");
 | 
			
		||||
	    rb_raise(eDateError, "invalid date");
 | 
			
		||||
	if (!c_valid_time_p(h, min, s, &rh, &rmin, &rs))
 | 
			
		||||
	    rb_raise(rb_eArgError, "invalid date");
 | 
			
		||||
	    rb_raise(eDateError, "invalid date");
 | 
			
		||||
	canon24oc();
 | 
			
		||||
 | 
			
		||||
	rjd2 = jd_local_to_utc(rjd,
 | 
			
		||||
| 
						 | 
				
			
			@ -7454,9 +7455,9 @@ datetime_initialize(int argc, VALUE *argv, VALUE self)
 | 
			
		|||
	if (!valid_gregorian_p(y, m, d,
 | 
			
		||||
			       &nth, &ry,
 | 
			
		||||
			       &rm, &rd))
 | 
			
		||||
	    rb_raise(rb_eArgError, "invalid date");
 | 
			
		||||
	    rb_raise(eDateError, "invalid date");
 | 
			
		||||
	if (!c_valid_time_p(h, min, s, &rh, &rmin, &rs))
 | 
			
		||||
	    rb_raise(rb_eArgError, "invalid date");
 | 
			
		||||
	    rb_raise(eDateError, "invalid date");
 | 
			
		||||
	canon24oc();
 | 
			
		||||
 | 
			
		||||
	set_to_complex(self, dat,
 | 
			
		||||
| 
						 | 
				
			
			@ -7475,9 +7476,9 @@ datetime_initialize(int argc, VALUE *argv, VALUE self)
 | 
			
		|||
			   &nth, &ry,
 | 
			
		||||
			   &rm, &rd, &rjd,
 | 
			
		||||
			   &ns))
 | 
			
		||||
	    rb_raise(rb_eArgError, "invalid date");
 | 
			
		||||
	    rb_raise(eDateError, "invalid date");
 | 
			
		||||
	if (!c_valid_time_p(h, min, s, &rh, &rmin, &rs))
 | 
			
		||||
	    rb_raise(rb_eArgError, "invalid date");
 | 
			
		||||
	    rb_raise(eDateError, "invalid date");
 | 
			
		||||
	canon24oc();
 | 
			
		||||
 | 
			
		||||
	rjd2 = jd_local_to_utc(rjd,
 | 
			
		||||
| 
						 | 
				
			
			@ -7559,9 +7560,9 @@ datetime_s_commercial(int argc, VALUE *argv, VALUE klass)
 | 
			
		|||
				&nth, &ry,
 | 
			
		||||
				&rw, &rd, &rjd,
 | 
			
		||||
				&ns))
 | 
			
		||||
	    rb_raise(rb_eArgError, "invalid date");
 | 
			
		||||
	    rb_raise(eDateError, "invalid date");
 | 
			
		||||
	if (!c_valid_time_p(h, min, s, &rh, &rmin, &rs))
 | 
			
		||||
	    rb_raise(rb_eArgError, "invalid date");
 | 
			
		||||
	    rb_raise(eDateError, "invalid date");
 | 
			
		||||
	canon24oc();
 | 
			
		||||
 | 
			
		||||
	rjd2 = jd_local_to_utc(rjd,
 | 
			
		||||
| 
						 | 
				
			
			@ -7630,9 +7631,9 @@ datetime_s_weeknum(int argc, VALUE *argv, VALUE klass)
 | 
			
		|||
			     &nth, &ry,
 | 
			
		||||
			     &rw, &rd, &rjd,
 | 
			
		||||
			     &ns))
 | 
			
		||||
	    rb_raise(rb_eArgError, "invalid date");
 | 
			
		||||
	    rb_raise(eDateError, "invalid date");
 | 
			
		||||
	if (!c_valid_time_p(h, min, s, &rh, &rmin, &rs))
 | 
			
		||||
	    rb_raise(rb_eArgError, "invalid date");
 | 
			
		||||
	    rb_raise(eDateError, "invalid date");
 | 
			
		||||
	canon24oc();
 | 
			
		||||
 | 
			
		||||
	rjd2 = jd_local_to_utc(rjd,
 | 
			
		||||
| 
						 | 
				
			
			@ -7699,9 +7700,9 @@ datetime_s_nth_kday(int argc, VALUE *argv, VALUE klass)
 | 
			
		|||
			      &nth, &ry,
 | 
			
		||||
			      &rm, &rn, &rk, &rjd,
 | 
			
		||||
			      &ns))
 | 
			
		||||
	    rb_raise(rb_eArgError, "invalid date");
 | 
			
		||||
	    rb_raise(eDateError, "invalid date");
 | 
			
		||||
	if (!c_valid_time_p(h, min, s, &rh, &rmin, &rs))
 | 
			
		||||
	    rb_raise(rb_eArgError, "invalid date");
 | 
			
		||||
	    rb_raise(eDateError, "invalid date");
 | 
			
		||||
	canon24oc();
 | 
			
		||||
 | 
			
		||||
	rjd2 = jd_local_to_utc(rjd,
 | 
			
		||||
| 
						 | 
				
			
			@ -7844,7 +7845,7 @@ dt_new_by_frags(VALUE klass, VALUE hash, VALUE sg)
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    if (NIL_P(hash))
 | 
			
		||||
	rb_raise(rb_eArgError, "invalid date");
 | 
			
		||||
	rb_raise(eDateError, "invalid date");
 | 
			
		||||
 | 
			
		||||
    if (NIL_P(ref_hash("jd")) &&
 | 
			
		||||
	NIL_P(ref_hash("yday")) &&
 | 
			
		||||
| 
						 | 
				
			
			@ -7871,7 +7872,7 @@ dt_new_by_frags(VALUE klass, VALUE hash, VALUE sg)
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    if (NIL_P(jd))
 | 
			
		||||
	rb_raise(rb_eArgError, "invalid date");
 | 
			
		||||
	rb_raise(eDateError, "invalid date");
 | 
			
		||||
 | 
			
		||||
    {
 | 
			
		||||
	int rh, rmin, rs;
 | 
			
		||||
| 
						 | 
				
			
			@ -7880,7 +7881,7 @@ dt_new_by_frags(VALUE klass, VALUE hash, VALUE sg)
 | 
			
		|||
			    NUM2INT(ref_hash("min")),
 | 
			
		||||
			    NUM2INT(ref_hash("sec")),
 | 
			
		||||
			    &rh, &rmin, &rs))
 | 
			
		||||
	    rb_raise(rb_eArgError, "invalid date");
 | 
			
		||||
	    rb_raise(eDateError, "invalid date");
 | 
			
		||||
 | 
			
		||||
	df = time_to_df(rh, rmin, rs);
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -9268,6 +9269,7 @@ Init_date_core(void)
 | 
			
		|||
     *
 | 
			
		||||
     */
 | 
			
		||||
    cDate = rb_define_class("Date", rb_cObject);
 | 
			
		||||
    eDateError = rb_define_class_under(cDate, "Error", rb_eArgError);
 | 
			
		||||
 | 
			
		||||
    rb_include_module(cDate, rb_mComparable);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,7 +27,7 @@ class TestDateNew < Test::Unit::TestCase
 | 
			
		|||
  end
 | 
			
		||||
 | 
			
		||||
  def test_jd__ex
 | 
			
		||||
    assert_raise(ArgumentError) do
 | 
			
		||||
    assert_raise(Date::Error) do
 | 
			
		||||
      DateTime.jd(0, 23,59,60,0)
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			@ -118,10 +118,10 @@ class TestDateNew < Test::Unit::TestCase
 | 
			
		|||
  end
 | 
			
		||||
 | 
			
		||||
  def test_ordinal__ex
 | 
			
		||||
    assert_raise(ArgumentError) do
 | 
			
		||||
    assert_raise(Date::Error) do
 | 
			
		||||
      Date.ordinal(2001,366)
 | 
			
		||||
    end
 | 
			
		||||
    assert_raise(ArgumentError) do
 | 
			
		||||
    assert_raise(Date::Error) do
 | 
			
		||||
      DateTime.ordinal(2001,365, 23,59,60, 0)
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			@ -181,13 +181,13 @@ class TestDateNew < Test::Unit::TestCase
 | 
			
		|||
  end
 | 
			
		||||
 | 
			
		||||
  def test_civil__ex
 | 
			
		||||
    assert_raise(ArgumentError) do
 | 
			
		||||
    assert_raise(Date::Error) do
 | 
			
		||||
      Date.civil(2001,2,29)
 | 
			
		||||
    end
 | 
			
		||||
    assert_raise(ArgumentError) do
 | 
			
		||||
    assert_raise(Date::Error) do
 | 
			
		||||
      DateTime.civil(2001,2,28, 23,59,60, 0)
 | 
			
		||||
    end
 | 
			
		||||
    assert_raise(ArgumentError) do
 | 
			
		||||
    assert_raise(Date::Error) do
 | 
			
		||||
      DateTime.civil(2001,2,28, 24,59,59, 0)
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			@ -248,10 +248,10 @@ class TestDateNew < Test::Unit::TestCase
 | 
			
		|||
  end
 | 
			
		||||
 | 
			
		||||
  def test_commercial__ex
 | 
			
		||||
    assert_raise(ArgumentError) do
 | 
			
		||||
    assert_raise(Date::Error) do
 | 
			
		||||
      Date.commercial(1997,53,1)
 | 
			
		||||
    end
 | 
			
		||||
    assert_raise(ArgumentError) do
 | 
			
		||||
    assert_raise(Date::Error) do
 | 
			
		||||
      DateTime.commercial(1997,52,1, 23,59,60, 0)
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			@ -270,10 +270,10 @@ class TestDateNew < Test::Unit::TestCase
 | 
			
		|||
    assert_equal(2452355, d.jd)
 | 
			
		||||
    assert_equal([11,22,33], [d.hour, d.min, d.sec])
 | 
			
		||||
 | 
			
		||||
    assert_raise(ArgumentError) do
 | 
			
		||||
    assert_raise(Date::Error) do
 | 
			
		||||
      Date.weeknum(1999,53,0, 0)
 | 
			
		||||
    end
 | 
			
		||||
    assert_raise(ArgumentError) do
 | 
			
		||||
    assert_raise(Date::Error) do
 | 
			
		||||
      Date.weeknum(1999,-53,-1, 0)
 | 
			
		||||
    end
 | 
			
		||||
  end if Date.respond_to?(:weeknum, true)
 | 
			
		||||
| 
						 | 
				
			
			@ -292,10 +292,10 @@ class TestDateNew < Test::Unit::TestCase
 | 
			
		|||
    assert_equal(2448682, d.jd)
 | 
			
		||||
    assert_equal([11,22,33], [d.hour, d.min, d.sec])
 | 
			
		||||
 | 
			
		||||
    assert_raise(ArgumentError) do
 | 
			
		||||
    assert_raise(Date::Error) do
 | 
			
		||||
      Date.nth_kday(2006,5, 5,0)
 | 
			
		||||
    end
 | 
			
		||||
    assert_raise(ArgumentError) do
 | 
			
		||||
    assert_raise(Date::Error) do
 | 
			
		||||
      Date.nth_kday(2006,5, -5,0)
 | 
			
		||||
    end
 | 
			
		||||
  end if Date.respond_to?(:nth_kday, true)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -659,27 +659,39 @@ class TestDateParse < Test::Unit::TestCase
 | 
			
		|||
  end
 | 
			
		||||
 | 
			
		||||
  def test_parse__ex
 | 
			
		||||
    assert_raise(ArgumentError) do
 | 
			
		||||
    assert_raise(Date::Error) do
 | 
			
		||||
      Date.parse('')
 | 
			
		||||
    end
 | 
			
		||||
    assert_raise(ArgumentError) do
 | 
			
		||||
    assert_raise(Date::Error) do
 | 
			
		||||
      DateTime.parse('')
 | 
			
		||||
    end
 | 
			
		||||
    assert_raise(ArgumentError) do
 | 
			
		||||
    assert_raise(Date::Error) do
 | 
			
		||||
      Date.parse('2001-02-29')
 | 
			
		||||
    end
 | 
			
		||||
    assert_raise(ArgumentError) do
 | 
			
		||||
    assert_raise(Date::Error) do
 | 
			
		||||
      DateTime.parse('2001-02-29T23:59:60')
 | 
			
		||||
    end
 | 
			
		||||
    assert_nothing_raised(ArgumentError) do
 | 
			
		||||
    assert_nothing_raised(Date::Error) do
 | 
			
		||||
      DateTime.parse('2001-03-01T23:59:60')
 | 
			
		||||
    end
 | 
			
		||||
    assert_raise(ArgumentError) do
 | 
			
		||||
    assert_raise(Date::Error) do
 | 
			
		||||
      DateTime.parse('2001-03-01T23:59:61')
 | 
			
		||||
    end
 | 
			
		||||
    assert_raise(ArgumentError) do
 | 
			
		||||
    assert_raise(Date::Error) do
 | 
			
		||||
      Date.parse('23:55')
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    begin
 | 
			
		||||
      Date.parse('')
 | 
			
		||||
    rescue ArgumentError => e
 | 
			
		||||
      assert e.is_a? Date::Error
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    begin
 | 
			
		||||
      DateTime.parse('')
 | 
			
		||||
    rescue ArgumentError => e
 | 
			
		||||
      assert e.is_a? Date::Error
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test__iso8601
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -460,28 +460,28 @@ class TestDateStrptime < Test::Unit::TestCase
 | 
			
		|||
  end
 | 
			
		||||
 | 
			
		||||
  def test_strptime__ex
 | 
			
		||||
    assert_raise(ArgumentError) do
 | 
			
		||||
    assert_raise(Date::Error) do
 | 
			
		||||
      Date.strptime('')
 | 
			
		||||
    end
 | 
			
		||||
    assert_raise(ArgumentError) do
 | 
			
		||||
    assert_raise(Date::Error) do
 | 
			
		||||
      DateTime.strptime('')
 | 
			
		||||
    end
 | 
			
		||||
    assert_raise(ArgumentError) do
 | 
			
		||||
    assert_raise(Date::Error) do
 | 
			
		||||
      Date.strptime('2001-02-29', '%F')
 | 
			
		||||
    end
 | 
			
		||||
    assert_raise(ArgumentError) do
 | 
			
		||||
    assert_raise(Date::Error) do
 | 
			
		||||
      DateTime.strptime('2001-02-29T23:59:60', '%FT%T')
 | 
			
		||||
    end
 | 
			
		||||
    assert_nothing_raised(ArgumentError) do
 | 
			
		||||
    assert_nothing_raised(Date::Error) do
 | 
			
		||||
      DateTime.strptime('2001-03-01T23:59:60', '%FT%T')
 | 
			
		||||
    end
 | 
			
		||||
    assert_raise(ArgumentError) do
 | 
			
		||||
    assert_raise(Date::Error) do
 | 
			
		||||
      DateTime.strptime('2001-03-01T23:59:61', '%FT%T')
 | 
			
		||||
    end
 | 
			
		||||
    assert_raise(ArgumentError) do
 | 
			
		||||
    assert_raise(Date::Error) do
 | 
			
		||||
      Date.strptime('23:55', '%H:%M')
 | 
			
		||||
    end
 | 
			
		||||
    assert_raise(ArgumentError) do
 | 
			
		||||
    assert_raise(Date::Error) do
 | 
			
		||||
      Date.strptime('01-31-2011', '%m/%d/%Y')
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue