From 0ab8695eb9d360f836542e1fb3f10e031a8a36ed Mon Sep 17 00:00:00 2001
From: Maksim Orlovich <m_orlovich@hotmail.com>
Date: Wed, 26 Sep 2018 13:09:49 -0500
Subject: [PATCH] Remove two-digit year cookie format support & unit test
 (fails on Ubuntu 14.04)

---
 Foundation/HTTPCookie.swift         | 15 +++------------
 TestFoundation/TestHTTPCookie.swift |  7 +++----
 2 files changed, 6 insertions(+), 16 deletions(-)

diff --git a/Foundation/HTTPCookie.swift b/Foundation/HTTPCookie.swift
index d53fa1920d..a337bee981 100644
--- a/Foundation/HTTPCookie.swift
+++ b/Foundation/HTTPCookie.swift
@@ -104,17 +104,8 @@ open class HTTPCookie : NSObject {
         return formatter
     }()
 
-    // Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036
-    static let _formatter2: DateFormatter = {
-        let formatter = DateFormatter()
-        formatter.locale = Locale(identifier: "en_US_POSIX")
-        formatter.dateFormat = "EEEE, dd-MMM-yy HH:mm:ss O"
-        formatter.timeZone = TimeZone(abbreviation: "GMT")
-        return formatter
-    }()
-
     // Sun Nov  6 08:49:37 1994       ; ANSI C's asctime() format
-    static let _formatter3: DateFormatter = {
+    static let _formatter2: DateFormatter = {
         let formatter = DateFormatter()
         formatter.locale = Locale(identifier: "en_US_POSIX")
         formatter.dateFormat = "EEE MMM d HH:mm:ss yyyy"
@@ -123,7 +114,7 @@ open class HTTPCookie : NSObject {
     }()
 
     // Sun, 06-Nov-1994 08:49:37 GMT  ; Tomcat servers sometimes return cookies in this format
-    static let _formatter4: DateFormatter = {
+    static let _formatter3: DateFormatter = {
         let formatter = DateFormatter()
         formatter.locale = Locale(identifier: "en_US_POSIX")
         formatter.dateFormat = "EEE, dd-MMM-yyyy HH:mm:ss O"
@@ -132,7 +123,7 @@ open class HTTPCookie : NSObject {
     }()
 
     static let _allFormatters: [DateFormatter]
-        = [_formatter1, _formatter2, _formatter3, _formatter4]
+        = [_formatter1, _formatter2, _formatter3]
 
     static let _attributes: [HTTPCookiePropertyKey]
         = [.name, .value, .originURL, .version, .domain,
diff --git a/TestFoundation/TestHTTPCookie.swift b/TestFoundation/TestHTTPCookie.swift
index d531566a44..aee767f6fd 100644
--- a/TestFoundation/TestHTTPCookie.swift
+++ b/TestFoundation/TestHTTPCookie.swift
@@ -175,9 +175,8 @@ class TestHTTPCookie: XCTestCase {
         let cookieString =
             """
             format1=true; expires=Wed, 01 Jan 2020 12:30:00 GMT; path=/; domain=swift.org; secure; httponly,
-            format2=true; expires=Wednesday, 01-Jan-20 12:30:00 GMT; path=/; domain=swift.org; secure; httponly,
-            format3=true; expires=Wed Jan 1 12:30:00 2020; path=/; domain=swift.org; secure; httponly,
-            format4=true; expires=Wed, 01-Jan-2020 12:30:00 GMT; path=/; domain=swift.org; secure; httponly
+            format2=true; expires=Wed Jan 1 12:30:00 2020; path=/; domain=swift.org; secure; httponly,
+            format3=true; expires=Wed, 01-Jan-2020 12:30:00 GMT; path=/; domain=swift.org; secure; httponly
             """
 
         let header = ["header1":"value1",
@@ -185,7 +184,7 @@ class TestHTTPCookie: XCTestCase {
                       "header2":"value2",
                       "header3":"value3"]
         let cookies = HTTPCookie.cookies(withResponseHeaderFields: header, for: URL(string: "https://swift.org")!)
-        XCTAssertEqual(cookies.count, 4)
+        XCTAssertEqual(cookies.count, 3)
         cookies.forEach { cookie in
             XCTAssertEqual(cookie.expiresDate, testDate)
             XCTAssertEqual(cookie.domain, "swift.org")