Add Path.source()
This commit is contained in:
@@ -305,6 +305,13 @@ class PathTests: XCTestCase {
|
||||
XCTAssertEqual(Path.root.string, "/")
|
||||
XCTAssertEqual(Path.home.string, NSHomeDirectory())
|
||||
XCTAssertEqual(Path.documents.string, NSHomeDirectory() + "/Documents")
|
||||
#if swift(>=5.3)
|
||||
let filePath = Path(#filePath)!
|
||||
#else
|
||||
let filePath = Path(#file)!
|
||||
#endif
|
||||
XCTAssertEqual(Path.source().file, filePath)
|
||||
XCTAssertEqual(Path.source().directory, filePath.parent)
|
||||
#if !os(Linux)
|
||||
XCTAssertEqual(Path.caches.string, NSHomeDirectory() + "/Library/Caches")
|
||||
XCTAssertEqual(Path.cwd.string, FileManager.default.currentDirectoryPath)
|
||||
@@ -660,11 +667,3 @@ class PathTests: XCTestCase {
|
||||
XCTAssertEqual(Path("/foo"), Path.root.foo)
|
||||
}
|
||||
}
|
||||
|
||||
private func XCTAssertEqual<P: Pathish, Q: Pathish>(_ p: P, _ q: Q, file: StaticString = #file, line: UInt = #line) {
|
||||
XCTAssertEqual(p.string, q.string, file: file, line: line)
|
||||
}
|
||||
|
||||
private func XCTAssertEqual<P: Pathish, Q: Pathish>(_ p: P?, _ q: Q?, file: StaticString = #file, line: UInt = #line) {
|
||||
XCTAssertEqual(p?.string, q?.string, file: file, line: line)
|
||||
}
|
||||
|
||||
@@ -1,11 +1,43 @@
|
||||
import XCTest
|
||||
import Path
|
||||
|
||||
#if swift(>=5.3)
|
||||
func XCTAssertEqual<P: Pathish>(_ set1: Set<Path>, _ set2: Set<Path>, _ message: @autoclosure () -> String = "", file: StaticString = #filePath, line: UInt = #line, relativeTo: P) {
|
||||
logic(set1, set2, relativeTo: relativeTo) {
|
||||
XCTFail($0, file: file, line: line)
|
||||
}
|
||||
}
|
||||
#else
|
||||
func XCTAssertEqual<P: Pathish>(_ set1: Set<Path>, _ set2: Set<Path>, _ message: @autoclosure () -> String = "", file: StaticString = #file, line: UInt = #line, relativeTo: P) {
|
||||
logic(set1, set2, relativeTo: relativeTo) {
|
||||
XCTFail($0, file: file, line: line)
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
private func logic<P: Pathish>(_ set1: Set<Path>, _ set2: Set<Path>, relativeTo: P, fail: (String) -> Void) {
|
||||
if set1 != set2 {
|
||||
let cvt: (Path) -> String = { $0.relative(to: relativeTo) }
|
||||
let out1 = set1.map(cvt).sorted()
|
||||
let out2 = set1.map(cvt).sorted()
|
||||
XCTFail("Set(\(out1)) is not equal to Set(\(out2))", file: file, line: line)
|
||||
fail("Set(\(out1)) is not equal to Set(\(out2))")
|
||||
}
|
||||
}
|
||||
|
||||
#if swift(>=5.3)
|
||||
func XCTAssertEqual<P: Pathish, Q: Pathish>(_ p: P, _ q: Q, file: StaticString = #filePath, line: UInt = #line) {
|
||||
XCTAssertEqual(p.string, q.string, file: file, line: line)
|
||||
}
|
||||
|
||||
func XCTAssertEqual<P: Pathish, Q: Pathish>(_ p: P?, _ q: Q?, file: StaticString = #filePath, line: UInt = #line) {
|
||||
XCTAssertEqual(p?.string, q?.string, file: file, line: line)
|
||||
}
|
||||
#else
|
||||
func XCTAssertEqual<P: Pathish, Q: Pathish>(_ p: P, _ q: Q, file: StaticString = #file, line: UInt = #line) {
|
||||
XCTAssertEqual(p.string, q.string, file: file, line: line)
|
||||
}
|
||||
|
||||
func XCTAssertEqual<P: Pathish, Q: Pathish>(_ p: P?, _ q: Q?, file: StaticString = #file, line: UInt = #line) {
|
||||
XCTAssertEqual(p?.string, q?.string, file: file, line: line)
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user