From 0ab8695eb9d360f836542e1fb3f10e031a8a36ed Mon Sep 17 00:00:00 2001 From: Maksim Orlovich 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")