diff --git a/SignalServiceKit/tests/Messages/OWSLinkPreviewTest.swift b/SignalServiceKit/tests/Messages/OWSLinkPreviewTest.swift index 8c9776e44..97ce56fb7 100644 --- a/SignalServiceKit/tests/Messages/OWSLinkPreviewTest.swift +++ b/SignalServiceKit/tests/Messages/OWSLinkPreviewTest.swift @@ -133,6 +133,7 @@ class OWSLinkPreviewTest: SSKBaseTestSwift { XCTAssertTrue(OWSLinkPreview.isValidLinkUrl("https://pinterest.com/something")) XCTAssertTrue(OWSLinkPreview.isValidLinkUrl("https://www.pinterest.com/something")) XCTAssertTrue(OWSLinkPreview.isValidLinkUrl("https://pin.it/something")) + XCTAssertTrue(OWSLinkPreview.isValidLinkUrl("https://www.pinterest.com/ohjoy/recipes/")) // Strip trailing commas. XCTAssertTrue(OWSLinkPreview.isValidLinkUrl("https://imgur.com/gallery/igHOwDM,")) @@ -456,6 +457,27 @@ class OWSLinkPreviewTest: SSKBaseTestSwift { self.waitForExpectations(timeout: 5.0, handler: nil) } + func testLinkParsingWithRealData10() { + let expectation = self.expectation(description: "link download and parsing") + + OWSLinkPreview.downloadLink(url: "https://www.pinterest.com/ohjoy/recipes/") + .done { (linkData) in + let content = try! OWSLinkPreview.parse(linkData: linkData) + XCTAssertNotNil(content) + + XCTAssertEqual(content.title, "Recipes") + XCTAssertEqual(content.imageUrl, "https://i.pinimg.com/200x150/76/ae/9d/76ae9d3056dbcb295924fdd5db6951c6.jpg") + + expectation.fulfill() + }.catch { (error) in + Logger.error("error: \(error)") + XCTFail("Unexpected error: \(error)") + expectation.fulfill() + }.retainUntilComplete() + + self.waitForExpectations(timeout: 5.0, handler: nil) + } + // When using regular expressions to parse link titles, we need to use // String.utf16.count, not String.count in the range. func testRegexRanges() {