Merge pull request #73 from mxcl/fixes/55

typealias PathStruct and add Swift 5.5 niceness
This commit is contained in:
Max Howell
2021-06-16 11:11:18 -04:00
committed by GitHub
5 changed files with 29 additions and 1 deletions

View File

@@ -6,11 +6,13 @@ on:
- .github/workflows/ci.yml
schedule:
- cron: '3 3 * * 5' # 3:03 AM, every Friday
concurrency:
group: ${{ github.head_ref || 'push' }}
cancel-in-progress: true
jobs:
smoke:
runs-on: macos-latest
steps:
- uses: technote-space/auto-cancel-redundant-job@v1
- uses: actions/checkout@v2
- run: swift test --generate-linuxmain
- run: git diff --exit-code

View File

@@ -108,3 +108,13 @@ func defaultUrl(for searchPath: FileManager.SearchPathDirectory) -> DynamicPath
}
#endif
#if swift(>=5.5)
extension Pathish where Self == Path {
static var home: DynamicPath { Path.home }
static var root: DynamicPath { Path.root }
static var cwd: DynamicPath { Path.cwd }
static var documents: DynamicPath { Path.documents }
static var caches: DynamicPath { Path.caches }
static var applicationSupport: DynamicPath { Path.applicationSupport }
}
#endif

View File

@@ -7,6 +7,8 @@ import func Glibc.realpath
let _realpath = Glibc.realpath
#endif
public typealias PathStruct = Path
/**
A `Path` represents an absolute path on a filesystem.

View File

@@ -3,7 +3,20 @@ import func XCTest.XCTAssertEqual
import Foundation
import XCTest
extension PathStruct {
var foo: Int { fatalError()}
}
class PathTests: XCTestCase {
func testNewStuff() {
#if swift(>=5.5)
func foo<P: Pathish>(_ path: P) {}
foo(.home)
foo(.root)
#endif
}
func testConcatenation() {
XCTAssertEqual((Path.root/"bar").string, "/bar")
XCTAssertEqual(Path.cwd.string, FileManager.default.currentDirectoryPath)

View File

@@ -45,6 +45,7 @@ extension PathTests {
("testMktemp", testMktemp),
("testMoveInto", testMoveInto),
("testMoveTo", testMoveTo),
("testNewStuff", testNewStuff),
("testNoUndesiredSymlinkResolution", testNoUndesiredSymlinkResolution),
("testOptionalInitializer", testOptionalInitializer),
("testParent", testParent),