2011-02-18 chris reiss <christopher.reiss@nokia.com>
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 19 Feb 2011 01:43:40 +0000 (01:43 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 19 Feb 2011 01:43:40 +0000 (01:43 +0000)
        Reviewed by Andreas Kling.

        REGRESSION: Date.parse("Tue Nov 23 20:40:05 2010 GMT") returns NaN
        https://bugs.webkit.org/show_bug.cgi?id=49989

        * fast/js/date-parse-test-expected.txt:
        * fast/js/script-tests/date-parse-test.js:
2011-02-18  chris reiss  <christopher.reiss@nokia.com>

        Reviewed by Andreas Kling.

        REGRESSION: Date.parse("Tue Nov 23 20:40:05 2010 GMT") returns NaN
        https://bugs.webkit.org/show_bug.cgi?id=49989

        updated test fast/js/script-tests/date-parse-test.js

        * wtf/DateMath.cpp:
        (WTF::parseDateFromNullTerminatedCharacters):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@79060 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/fast/js/date-parse-test-expected.txt
LayoutTests/fast/js/script-tests/date-parse-test.js
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/wtf/DateMath.cpp

index f6d26f8..3306e85 100644 (file)
@@ -1,3 +1,13 @@
+2011-02-18  chris reiss  <christopher.reiss@nokia.com>
+
+        Reviewed by Andreas Kling.
+
+        REGRESSION: Date.parse("Tue Nov 23 20:40:05 2010 GMT") returns NaN
+        https://bugs.webkit.org/show_bug.cgi?id=49989
+
+        * fast/js/date-parse-test-expected.txt:
+        * fast/js/script-tests/date-parse-test.js:
+
 2011-02-18  Emil A Eklund  <eae@chromium.org>
 
         Reviewed by Darin Adler.
index a418cec..63acbda 100644 (file)
@@ -161,6 +161,13 @@ PASS Date.parse("anf 25 1995 gmt") is NaN
 PASS Date.parse("Wed Dec 25 1995 1:30 GMT") == 819855000000 is true
 PASS Date.parse("WED DEC 25 1995 1:30 GMT") == 819855000000 is true
 PASS Date.parse("wed dec 25 1995 1:30 gmt") == 819855000000 is true
+PASS Date.parse("Wed Dec 25 1:30 1995 GMT") == 819855000000 is true
+PASS Date.parse("WED DEC 25 1:30 1995 GMT") == 819855000000 is true
+PASS Date.parse("wed dec 25 1:30 1995 gmt") == 819855000000 is true
+PASS Date.parse("Wed Dec 25 1:30 1995GMT") == 819855000000 is true
+PASS Date.parse("Wed Dec 25 1:30 1995 2010 GMT") is NaN
+PASS Date.parse("Wed Dec 25 1:30 1995r GMT") is NaN
+PASS Date.parse("Wed 1:30 Dec 25 GMT") is NaN
 PASS Date.parse("Dec 25" + String.fromCharCode(9) + "1995 13:30 GMT") == 819898200000 is true
 PASS Date.parse(("Dec 25" + String.fromCharCode(9) + "1995 13:30 GMT").toUpperCase()) == 819898200000 is true
 PASS Date.parse(("Dec 25" + String.fromCharCode(9) + "1995 13:30 GMT").toLowerCase()) == 819898200000 is true
index f5ab25d..e98e660 100644 (file)
@@ -127,6 +127,11 @@ testDateParse("Dec 25 1995 13:30 PM GMT", "NaN");
 testDateParse("Anf 25 1995 GMT", "NaN");
 
 testDateParse("Wed Dec 25 1995 1:30 GMT", "819855000000");
+testDateParse("Wed Dec 25 1:30 1995 GMT", "819855000000");
+testDateParseExact("Wed Dec 25 1:30 1995GMT", "819855000000");
+testDateParseExact("Wed Dec 25 1:30 1995 2010 GMT", "NaN");
+testDateParseExact("Wed Dec 25 1:30 1995r GMT", "NaN");
+testDateParseExact("Wed 1:30 Dec 25 GMT", "NaN");
 
 testDateParseExpr('"Dec 25" + String.fromCharCode(9) + "1995 13:30 GMT"', "819898200000");
 testDateParseExpr('"Dec 25" + String.fromCharCode(10) + "1995 13:30 GMT"', "819898200000");
@@ -141,4 +146,6 @@ testDateParse("Dec 25 1995,13:30", "819898200000 + timeZoneOffset");
 testDateParse("Dec 25, 1995, 13:30", "819898200000 + timeZoneOffset");
 testDateParse("Dec 25,1995,13:30", "819898200000 + timeZoneOffset");
 
+
+
 var successfullyParsed = true;
index c45a7b3..3852b45 100644 (file)
@@ -1,3 +1,15 @@
+2011-02-18  chris reiss  <christopher.reiss@nokia.com>
+
+        Reviewed by Andreas Kling.
+
+        REGRESSION: Date.parse("Tue Nov 23 20:40:05 2010 GMT") returns NaN
+        https://bugs.webkit.org/show_bug.cgi?id=49989
+
+        updated test fast/js/script-tests/date-parse-test.js
+
+        * wtf/DateMath.cpp:
+        (WTF::parseDateFromNullTerminatedCharacters):
+
 2011-02-18  Sheriff Bot  <webkit.review.bot@gmail.com>
 
         Unreviewed, rolling out r79022.
index 8873352..86434e1 100644 (file)
@@ -920,6 +920,14 @@ static double parseDateFromNullTerminatedCharacters(const char* dateString, bool
             }
         }
     }
+    
+    // The year may be after the time but before the time zone.
+    if (year <= 0) {
+       if (!parseLong(dateString, &newPosStr, 10, &year))
+          year = 0;
+       dateString = newPosStr;
+       skipSpacesAndComments(dateString);
+    }
 
     // Don't fail if the time zone is missing. 
     // Some websites omit the time zone (4275206).