Skip to content

Commit 8e026e8

Browse files
committed
Add unit tests for ArticleExtractor.extractionURL(for:)
Tests verify Naver Blog URL transformation to mobile site, query parameter stripping, and that non-Naver URLs pass through unchanged. https://claude.ai/code/session_01DWJjZT2o7Cir7tmGYR3Z2U
1 parent c31774b commit 8e026e8

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
//
2+
// ArticleExtractorTests.swift
3+
// NetNewsWire
4+
//
5+
6+
import XCTest
7+
@testable import NetNewsWire
8+
9+
final class ArticleExtractorTests: XCTestCase {
10+
11+
func testNaverBlogURLConvertsToMobile() {
12+
let rssLink = "https://blog.naver.com/alexlungu/224194816965?fromRss=true&trackingCode=rss"
13+
let result = ArticleExtractor.extractionURL(for: rssLink)
14+
XCTAssertEqual(result, "https://m.blog.naver.com/alexlungu/224194816965")
15+
}
16+
17+
func testNaverBlogURLStripsAllQueryParams() {
18+
let link = "https://blog.naver.com/someblog/123456789?foo=bar&baz=qux"
19+
let result = ArticleExtractor.extractionURL(for: link)
20+
XCTAssertEqual(result, "https://m.blog.naver.com/someblog/123456789")
21+
}
22+
23+
func testNaverBlogURLWithNoQueryParams() {
24+
let link = "https://blog.naver.com/someblog/123456789"
25+
let result = ArticleExtractor.extractionURL(for: link)
26+
XCTAssertEqual(result, "https://m.blog.naver.com/someblog/123456789")
27+
}
28+
29+
func testMobileNaverBlogURLIsUnchanged() {
30+
let link = "https://m.blog.naver.com/someblog/123456789"
31+
let result = ArticleExtractor.extractionURL(for: link)
32+
XCTAssertEqual(result, link)
33+
}
34+
35+
func testNonNaverURLIsUnchanged() {
36+
let link = "https://example.com/some/article?foo=bar"
37+
let result = ArticleExtractor.extractionURL(for: link)
38+
XCTAssertEqual(result, link)
39+
}
40+
41+
func testInvalidURLIsUnchanged() {
42+
let link = "not a url at all"
43+
let result = ArticleExtractor.extractionURL(for: link)
44+
XCTAssertEqual(result, link)
45+
}
46+
}

0 commit comments

Comments
 (0)