Thanks Kasper,

Forgot to add that file to svn - sorry.

Rico


On Fri, May 7, 2010 at 1:27 PM, Kasper Lund <[email protected]> wrote:
> How about adding a few regression test cases?
>
> Cheers,
> Kasper
>
> On Fri, May 7, 2010 at 12:42 PM,  <[email protected]> wrote:
>> Reviewers: Lasse Reichstein,
>>
>> Message:
>> I discussed quite a bit with lasse about how to best support Date.parse on
>> timestamps only. The problem is that the spec is not specific on this. I
>> states
>> that one should accept strings that conform to 15.9.1.15, but leaves out how
>> to
>> handle timestamp only values. There is a number of solutions:
>> The date part defaults to today
>> The date part defaults to 2000-01-01
>> The date part defaults to 1970-01-01 (probably best solution - but we might
>> break compatibility with other browsers)
>>
>> Description:
>> Correct issue 696 with Date.parse returning a value when called on a non
>> date
>> string.
>>
>> The error was introduced in revision 4557 where support was added for
>> ES5 date time format strings. Because there was no check for a valid
>> year a random string starting with a non-digit character would be
>> parsed.
>>
>> This change disallows ES5 formatted dates where there is no date
>> fraction (i.e., with only a timestamp). Since none of the other
>> browsers support Date.parse on only timestamps I have disabled this
>> totally instead of just correcting the parser.
>>
>>
>>
>> Please review this at http://codereview.chromium.org/2017005/show
>>
>> SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/
>>
>> Affected files:
>>  M     src/dateparser.cc
>>
>>
>> Index: src/dateparser.cc
>> ===================================================================
>> --- src/dateparser.cc   (revision 4607)
>> +++ src/dateparser.cc   (working copy)
>> @@ -33,16 +33,12 @@
>>  namespace internal {
>>
>>  bool DateParser::DayComposer::Write(FixedArray* output) {
>> -  // Set year to 0 by default.
>> -  if (index_ < 1) {
>> -    comp_[index_++] = 1;
>> -  }
>> +    if (index_ < 1) return false;
>> +   // Day and month defaults to 1.
>> +   while (index_ < kSize) {
>> +       comp_[index_++] = 1;
>> +   }
>>
>> -  // Day and month defaults to 1.
>> -  while (index_ < kSize) {
>> -      comp_[index_++] = 1;
>> -  }
>> -
>>   int year = 0;  // Default year is 0 (=> 2000) for KJS compatibility.
>>   int month = kNone;
>>   int day = kNone;
>> @@ -62,7 +58,6 @@
>>     }
>>   } else {
>>     month = named_month_;
>> -    if (index_ < 1) return false;
>>     if (index_ == 1) {
>>       // MD or DM
>>       day = comp_[0];
>>
>>
>> --
>> v8-dev mailing list
>> [email protected]
>> http://groups.google.com/group/v8-dev
>>
>
> --
> v8-dev mailing list
> [email protected]
> http://groups.google.com/group/v8-dev
>

-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to