A Swift wrapper for [`libpsl`](https://github.com/rockdaboot/libpsl) to work with internet domains in the context of the [Public Suffix List](https://publicsuffix.org/).
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.4 KiB
36 lines
1.4 KiB
import XCTest
|
|
|
|
@testable import SwiftPSL
|
|
|
|
let psl = SwiftPSL()
|
|
|
|
class CoreTests : XCTestCase {
|
|
|
|
func test_isPublicSuffix() {
|
|
XCTAssertFalse(psl.isPublicSuffix("www.example.com"))
|
|
XCTAssertTrue(psl.isPublicSuffix("com.ar"))
|
|
XCTAssertFalse(psl.isPublicSuffix("www.com.ar"))
|
|
XCTAssertTrue(psl.isPublicSuffix("cc.ar.us"))
|
|
XCTAssertTrue(psl.isPublicSuffix(".cc.ar.us"))
|
|
XCTAssertFalse(psl.isPublicSuffix("www.cc.ar.us"))
|
|
XCTAssertFalse(psl.isPublicSuffix("www.ck"))
|
|
XCTAssertFalse(psl.isPublicSuffix("abc.www.ck"))
|
|
XCTAssertTrue(psl.isPublicSuffix("xxx.ck"))
|
|
XCTAssertFalse(psl.isPublicSuffix("www.xxx.ck"))
|
|
XCTAssertTrue(psl.isPublicSuffix("name"))
|
|
XCTAssertTrue(psl.isPublicSuffix(".name"))
|
|
XCTAssertFalse(psl.isPublicSuffix("hpsl.is.name"))
|
|
XCTAssertFalse(psl.isPublicSuffix(".hpsl.is.name"))
|
|
XCTAssertFalse(psl.isPublicSuffix("forgot.hpsl.is.name"))
|
|
XCTAssertFalse(psl.isPublicSuffix(".forgot.hpsl.is.name"))
|
|
XCTAssertFalse(psl.isPublicSuffix("whoever.hpsl.is.name"))
|
|
XCTAssertFalse(psl.isPublicSuffix("whoever.forgot.hpsl.is.name"))
|
|
XCTAssertTrue(psl.isPublicSuffix("."))
|
|
XCTAssertTrue(psl.isPublicSuffix(""))
|
|
XCTAssertTrue(psl.isPublicSuffix("adfhoweirh"))
|
|
XCTAssertTrue(psl.isPublicSuffix("compute.amazonaws.com"))
|
|
XCTAssertTrue(psl.isPublicSuffix("y.compute.amazonaws.com"))
|
|
XCTAssertFalse(psl.isPublicSuffix("x.y.compute.amazonaws.com"))
|
|
}
|
|
|
|
}
|
|
|