Skip to content

DarwinCompatibility: Restore tests to compiling and working #2240

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 16, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 46 additions & 4 deletions DarwinCompatibilityTests.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,16 @@

/* Begin PBXBuildFile section */
1560EA8C219217F8004377E9 /* TestNSCalendar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1560EA8B219217F8004377E9 /* TestNSCalendar.swift */; };
B906C30122AC6CE700FCFA2D /* TestNSSortDescriptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = B906C2FF22AC6CE600FCFA2D /* TestNSSortDescriptor.swift */; };
B906C30222AC6CE700FCFA2D /* TestURLSessionFTP.swift in Sources */ = {isa = PBXBuildFile; fileRef = B906C30022AC6CE600FCFA2D /* TestURLSessionFTP.swift */; };
B906C30422AC6E2A00FCFA2D /* FTPServer.swift in Sources */ = {isa = PBXBuildFile; fileRef = B906C30322AC6E2A00FCFA2D /* FTPServer.swift */; };
B907F36F20BB188800013CBE /* NSString-ISO-8859-1-data.txt in Resources */ = {isa = PBXBuildFile; fileRef = B907F36E20BB188800013CBE /* NSString-ISO-8859-1-data.txt */; };
B91269F622857B7100C78241 /* TestUUID.swift in Sources */ = {isa = PBXBuildFile; fileRef = B91269EE22857B7000C78241 /* TestUUID.swift */; };
B91269F722857B7100C78241 /* TestDateInterval.swift in Sources */ = {isa = PBXBuildFile; fileRef = B91269EF22857B7000C78241 /* TestDateInterval.swift */; };
B91269F822857B7100C78241 /* TestMeasurement.swift in Sources */ = {isa = PBXBuildFile; fileRef = B91269F022857B7000C78241 /* TestMeasurement.swift */; };
B91269F922857B7100C78241 /* TestHost.swift in Sources */ = {isa = PBXBuildFile; fileRef = B91269F122857B7000C78241 /* TestHost.swift */; };
B91269FA22857B7100C78241 /* TestNSLock.swift in Sources */ = {isa = PBXBuildFile; fileRef = B91269F322857B7100C78241 /* TestNSLock.swift */; };
B91269FB22857B7100C78241 /* TestDateComponents.swift in Sources */ = {isa = PBXBuildFile; fileRef = B91269F522857B7100C78241 /* TestDateComponents.swift */; };
B917D32420B0DB9700728EE0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B917D32320B0DB9700728EE0 /* Foundation.framework */; };
B917D32620B0DE2000728EE0 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = B917D32520B0DE2000728EE0 /* main.swift */; };
B940492B223B13D000FB4384 /* TestProgressFraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = B940492A223B13D000FB4384 /* TestProgressFraction.swift */; };
Expand Down Expand Up @@ -154,7 +163,19 @@

/* Begin PBXFileReference section */
1560EA8B219217F8004377E9 /* TestNSCalendar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = TestNSCalendar.swift; path = TestFoundation/TestNSCalendar.swift; sourceTree = "<group>"; };
B906C2FF22AC6CE600FCFA2D /* TestNSSortDescriptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TestNSSortDescriptor.swift; path = TestFoundation/TestNSSortDescriptor.swift; sourceTree = "<group>"; };
B906C30022AC6CE600FCFA2D /* TestURLSessionFTP.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TestURLSessionFTP.swift; path = TestFoundation/TestURLSessionFTP.swift; sourceTree = "<group>"; };
B906C30322AC6E2A00FCFA2D /* FTPServer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = FTPServer.swift; path = TestFoundation/FTPServer.swift; sourceTree = "<group>"; };
B907F36E20BB188800013CBE /* NSString-ISO-8859-1-data.txt */ = {isa = PBXFileReference; lastKnownFileType = text; name = "NSString-ISO-8859-1-data.txt"; path = "TestFoundation/Resources/NSString-ISO-8859-1-data.txt"; sourceTree = "<group>"; };
B91269ED22857B7000C78241 /* TestNotification.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TestNotification.swift; path = TestFoundation/TestNotification.swift; sourceTree = "<group>"; };
B91269EE22857B7000C78241 /* TestUUID.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TestUUID.swift; path = TestFoundation/TestUUID.swift; sourceTree = "<group>"; };
B91269EF22857B7000C78241 /* TestDateInterval.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TestDateInterval.swift; path = TestFoundation/TestDateInterval.swift; sourceTree = "<group>"; };
B91269F022857B7000C78241 /* TestMeasurement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TestMeasurement.swift; path = TestFoundation/TestMeasurement.swift; sourceTree = "<group>"; };
B91269F122857B7000C78241 /* TestHost.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TestHost.swift; path = TestFoundation/TestHost.swift; sourceTree = "<group>"; };
B91269F222857B7100C78241 /* TestNotificationQueue.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TestNotificationQueue.swift; path = TestFoundation/TestNotificationQueue.swift; sourceTree = "<group>"; };
B91269F322857B7100C78241 /* TestNSLock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TestNSLock.swift; path = TestFoundation/TestNSLock.swift; sourceTree = "<group>"; };
B91269F422857B7100C78241 /* TestNotificationCenter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TestNotificationCenter.swift; path = TestFoundation/TestNotificationCenter.swift; sourceTree = "<group>"; };
B91269F522857B7100C78241 /* TestDateComponents.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TestDateComponents.swift; path = TestFoundation/TestDateComponents.swift; sourceTree = "<group>"; };
B917D31C20B0DB8B00728EE0 /* xdgTestHelper */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = xdgTestHelper; sourceTree = BUILT_PRODUCTS_DIR; };
B917D32320B0DB9700728EE0 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
B917D32520B0DE2000728EE0 /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = main.swift; path = TestFoundation/xdgTestHelper/main.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -231,7 +252,7 @@
B9C89F221F6BF89800087AF4 /* TestNSCache.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TestNSCache.swift; path = TestFoundation/TestNSCache.swift; sourceTree = "<group>"; };
B9C89F231F6BF89800087AF4 /* TestNSDictionary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TestNSDictionary.swift; path = TestFoundation/TestNSDictionary.swift; sourceTree = "<group>"; };
B9C89F241F6BF89800087AF4 /* TestNotificationCenter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TestNotificationCenter.swift; path = TestFoundation/TestNotificationCenter.swift; sourceTree = "<group>"; };
B9C89F251F6BF89800087AF4 /* TestProcess.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TestProcess.swift; path = TestFoundation/TestProcess.swift; sourceTree = "<group>"; };
B9C89F251F6BF89800087AF4 /* TestProcess.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TestProcess.swift; path = TestFoundation/TestProcess.swift; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.swift; };
B9C89F261F6BF89900087AF4 /* TestEnergyFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TestEnergyFormatter.swift; path = TestFoundation/TestEnergyFormatter.swift; sourceTree = "<group>"; };
B9C89F271F6BF89900087AF4 /* TestNSCompoundPredicate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TestNSCompoundPredicate.swift; path = TestFoundation/TestNSCompoundPredicate.swift; sourceTree = "<group>"; };
B9C89F281F6BF89900087AF4 /* TestNotification.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TestNotification.swift; path = TestFoundation/TestNotification.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -301,6 +322,18 @@
B9C89EB81F6BF47D00087AF4 = {
isa = PBXGroup;
children = (
B906C30322AC6E2A00FCFA2D /* FTPServer.swift */,
B906C2FF22AC6CE600FCFA2D /* TestNSSortDescriptor.swift */,
B906C30022AC6CE600FCFA2D /* TestURLSessionFTP.swift */,
B91269F522857B7100C78241 /* TestDateComponents.swift */,
B91269EF22857B7000C78241 /* TestDateInterval.swift */,
B91269F122857B7000C78241 /* TestHost.swift */,
B91269F022857B7000C78241 /* TestMeasurement.swift */,
B91269ED22857B7000C78241 /* TestNotification.swift */,
B91269F422857B7100C78241 /* TestNotificationCenter.swift */,
B91269F222857B7100C78241 /* TestNotificationQueue.swift */,
B91269F322857B7100C78241 /* TestNSLock.swift */,
B91269EE22857B7000C78241 /* TestUUID.swift */,
B9C1C63322607372002BBEA0 /* FixtureValues.swift */,
B940492A223B13D000FB4384 /* TestProgressFraction.swift */,
B97E7855222AF995007596B0 /* TestPropertyListEncoder.swift */,
Expand Down Expand Up @@ -569,6 +602,18 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
B906C30422AC6E2A00FCFA2D /* FTPServer.swift in Sources */,
B906C30122AC6CE700FCFA2D /* TestNSSortDescriptor.swift in Sources */,
B906C30222AC6CE700FCFA2D /* TestURLSessionFTP.swift in Sources */,
B9C89F771F6BF89C00087AF4 /* TestNotification.swift in Sources */,
B91269F622857B7100C78241 /* TestUUID.swift in Sources */,
B91269F722857B7100C78241 /* TestDateInterval.swift in Sources */,
B91269F822857B7100C78241 /* TestMeasurement.swift in Sources */,
B91269F922857B7100C78241 /* TestHost.swift in Sources */,
B9C89F7F1F6BF89C00087AF4 /* TestNotificationQueue.swift in Sources */,
B91269FA22857B7100C78241 /* TestNSLock.swift in Sources */,
B9C89F731F6BF89C00087AF4 /* TestNotificationCenter.swift in Sources */,
B91269FB22857B7100C78241 /* TestDateComponents.swift in Sources */,
B9C1C63422607372002BBEA0 /* FixtureValues.swift in Sources */,
B940492B223B13D000FB4384 /* TestProgressFraction.swift in Sources */,
B97E7856222AF995007596B0 /* TestPropertyListEncoder.swift in Sources */,
Expand Down Expand Up @@ -639,18 +684,15 @@
B9C89F701F6BF89C00087AF4 /* TestDecimal.swift in Sources */,
B9C89F711F6BF89C00087AF4 /* TestNSCache.swift in Sources */,
B9C89F721F6BF89C00087AF4 /* TestNSDictionary.swift in Sources */,
B9C89F731F6BF89C00087AF4 /* TestNotificationCenter.swift in Sources */,
B9C89F741F6BF89C00087AF4 /* TestProcess.swift in Sources */,
B9C89F751F6BF89C00087AF4 /* TestEnergyFormatter.swift in Sources */,
B9C89F761F6BF89C00087AF4 /* TestNSCompoundPredicate.swift in Sources */,
B9C89F771F6BF89C00087AF4 /* TestNotification.swift in Sources */,
B9C89F781F6BF89C00087AF4 /* TestNSData.swift in Sources */,
B9C89F791F6BF89C00087AF4 /* TestNSRange.swift in Sources */,
B9C89F7A1F6BF89C00087AF4 /* TestNSGeometry.swift in Sources */,
B9C89F7C1F6BF89C00087AF4 /* TestURLCredential.swift in Sources */,
B9C89F7D1F6BF89C00087AF4 /* TestRunLoop.swift in Sources */,
B9C89F7E1F6BF89C00087AF4 /* TestThread.swift in Sources */,
B9C89F7F1F6BF89C00087AF4 /* TestNotificationQueue.swift in Sources */,
B9C89F801F6BF89C00087AF4 /* TestJSONSerialization.swift in Sources */,
B9C89F811F6BF89C00087AF4 /* TestAffineTransform.swift in Sources */,
B9C89F821F6BF89C00087AF4 /* TestNSURLRequest.swift in Sources */,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,15 @@
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "B917D31B20B0DB8B00728EE0"
BuildableName = "xdgTestHelper"
BlueprintName = "xdgTestHelper"
ReferencedContainer = "container:DarwinCompatibilityTests.xcodeproj">
</BuildableReference>
</MacroExpansion>
<Testables>
<TestableReference
skipped = "NO">
Expand All @@ -50,17 +59,6 @@
</SkippedTests>
</TestableReference>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "B917D31B20B0DB8B00728EE0"
BuildableName = "xdgTestHelper"
BlueprintName = "xdgTestHelper"
ReferencedContainer = "container:DarwinCompatibilityTests.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
Expand All @@ -82,8 +80,6 @@
ReferencedContainer = "container:DarwinCompatibilityTests.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
Expand Down
10 changes: 9 additions & 1 deletion Foundation/NSArray.swift
Original file line number Diff line number Diff line change
Expand Up @@ -218,11 +218,19 @@ open class NSArray : NSObject, NSCopying, NSMutableCopying, NSSecureCoding, NSCo

open func description(withLocale locale: Locale?, indent level: Int) -> String {
var descriptions = [String]()
var nonAlphaNum = CharacterSet.alphanumerics
nonAlphaNum.invert()
let cnt = count
for idx in 0..<cnt {
let obj = self[idx]
if let string = obj as? String {
descriptions.append(string)
if string.isEmpty {
descriptions.append("\"\"")
} else if string.rangeOfCharacter(from: nonAlphaNum) != nil {
descriptions.append("\"\(string)\"")
} else {
descriptions.append(string)
}
} else if let array = obj as? [Any] {
descriptions.append(NSArray(array: array).description(withLocale: locale, indent: level + 1))
} else if let dict = obj as? [AnyHashable : Any] {
Expand Down
17 changes: 12 additions & 5 deletions TestFoundation/TestBundle.swift
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,15 @@ internal func testBundle() -> Bundle {
#endif
}


#if DARWIN_COMPATIBILITY_TESTS
extension Bundle {
static let _supportsFreestandingBundles = false
static let _supportsFHSBundles = false
}
#endif


internal func testBundleName() -> String {
// Either 'TestFoundation' or 'DarwinCompatibilityTests'
return testBundle().infoDictionary!["CFBundleName"] as! String
Expand Down Expand Up @@ -521,7 +530,8 @@ class TestBundle : XCTestCase {
XCTAssertNil(bundle.url(forAuxiliaryExecutable: "does_not_exist_at_all"))
}
}


#if NS_FOUNDATION_ALLOWS_TESTABLE_IMPORT
func test_bundleReverseBundleLookup() {
_withEachPlaygroundLayout { (playground) in
#if !os(Windows)
Expand All @@ -542,15 +552,12 @@ class TestBundle : XCTestCase {
}
}

#if NS_FOUNDATION_ALLOWS_TESTABLE_IMPORT
func test_mainBundleExecutableURL() {
#if !DARWIN_COMPATIBILITY_TESTS // _CFProcessPath() is unavailable on native Foundation
let maybeURL = Bundle.main.executableURL
XCTAssertNotNil(maybeURL)
guard let url = maybeURL else { return }

XCTAssertEqual(url.path, ProcessInfo.processInfo._processPath)
#endif
}
#endif

Expand All @@ -571,13 +578,13 @@ class TestBundle : XCTestCase {
("test_bundlePreflight", test_bundlePreflight),
("test_bundleFindExecutable", test_bundleFindExecutable),
("test_bundleFindAuxiliaryExecutables", test_bundleFindAuxiliaryExecutables),
("test_bundleReverseBundleLookup", test_bundleReverseBundleLookup),
("test_bundleForClass", testExpectedToFailOnWindows(test_bundleForClass, "Functionality not yet implemented on Windows. SR-XXXX")),
]

#if NS_FOUNDATION_ALLOWS_TESTABLE_IMPORT
tests.append(contentsOf: [
("test_mainBundleExecutableURL", test_mainBundleExecutableURL),
("test_bundleReverseBundleLookup", test_bundleReverseBundleLookup),
])
#endif

Expand Down
4 changes: 3 additions & 1 deletion TestFoundation/TestFileManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -1647,11 +1647,13 @@ VIDEOS=StopgapVideos
try runSingleTest(aIsDirectory: true, bIsDirectory: false, options: .usingNewMetadataOnly)
try runSingleTest(aIsDirectory: true, bIsDirectory: false, options: [.withoutDeletingBackupItem, .usingNewMetadataOnly])
}


#if !DARWIN_COMPATIBILITY_TESTS
print("note: Testing platform-specific replace implementation.", to: &stderr)
try testReplaceMethod { (a, b, backupItemName, options) -> URL? in
try fm.replaceItem(at: a, withItemAt: b, backupItemName: backupItemName, options: options)
}
#endif

#if NS_FOUNDATION_ALLOWS_TESTABLE_IMPORT
print("note: Testing cross-platform replace implementation.", to: &stderr)
Expand Down
2 changes: 2 additions & 0 deletions TestFoundation/TestImports.swift
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
@_exported import SwiftXCTest
#else
@_exported import Foundation
#if canImport(FoundationNetworking)
@_exported import FoundationNetworking
#endif
@_exported import XCTest
#endif
4 changes: 4 additions & 0 deletions TestFoundation/TestMeasurement.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//

#if !DARWIN_COMPATIBILITY_TESTS // https://bugs.swift.org/browse/SR-10904
class CustomUnit: Unit {
required init(symbol: String) {
super.init(symbol: symbol)
Expand All @@ -19,6 +20,7 @@ class CustomUnit: Unit {
public static let bugs = CustomUnit(symbol: "bug")
public static let features = CustomUnit(symbol: "feature")
}
#endif

class TestMeasurement: XCTestCase {
static var allTests: [(String, (TestMeasurement) -> () throws -> Void)] {
Expand Down Expand Up @@ -59,6 +61,7 @@ class TestMeasurement: XCTestCase {
]
checkHashableGroups(durations)

#if !DARWIN_COMPATIBILITY_TESTS
let custom: [Measurement<CustomUnit>] = [
Measurement(value: 1, unit: CustomUnit.bugs),
Measurement(value: 2, unit: CustomUnit.bugs),
Expand All @@ -70,6 +73,7 @@ class TestMeasurement: XCTestCase {
Measurement(value: 4, unit: CustomUnit.features),
]
checkHashable(custom, equalityOracle: { $0 == $1 })
#endif
}

}
10 changes: 5 additions & 5 deletions TestFoundation/TestNSSet.swift
Original file line number Diff line number Diff line change
Expand Up @@ -231,16 +231,16 @@ class TestNSSet : XCTestCase {
}

func test_description() {
let array = NSArray(array: ["array_element1", "array_element2"])
let array = NSArray(array: ["array_element1", "arrayElement2", "", "!@#$%^&*()", "a+b"])
let dictionary = NSDictionary(dictionary: ["key1": "value1", "key2": "value2"])
let innerSet = NSSet(array: [4444, 5555])
let set: NSSet = NSSet(array: [array, dictionary, innerSet, 1111, 2222, 3333])

let description = NSString(string: set.description)
XCTAssertTrue(description.substring(to: 2).isEqual(to: "{("))
XCTAssertTrue(description.substring(from: description.length - 2).isEqual(to: ")}"))
XCTAssertTrue(description.contains(" (\n array_element1,\n array_element2\n )"))

XCTAssertTrue(description.hasPrefix("{("))
XCTAssertTrue(description.hasSuffix(")}"))
XCTAssertTrue(description.contains(" (\n \"array_element1\",\n arrayElement2,\n \"\",\n \"!@#$%^&*()\",\n \"a+b\"\n )"))
XCTAssertTrue(description.contains(" key1 = value1"))
XCTAssertTrue(description.contains(" key2 = value2"))
XCTAssertTrue(description.contains(" 4444"))
Expand Down
2 changes: 2 additions & 0 deletions TestFoundation/TestNSSortDescriptor.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//

#if !DARWIN_COMPATIBILITY_TESTS
struct IntSortable {
var value: Int
}
Expand Down Expand Up @@ -233,3 +234,4 @@ class TestNSSortDescriptor: XCTestCase {
]
}
}
#endif
2 changes: 2 additions & 0 deletions TestFoundation/TestNSString.swift
Original file line number Diff line number Diff line change
Expand Up @@ -1054,10 +1054,12 @@ class TestNSString: LoopbackServerTest {
}

do {
#if !DARWIN_COMPATIBILITY_TESTS // https://bugs.swift.org/browse/SR-10916
let path: NSString = "~/foo/bar/"
let result = path.standardizingPath
let expected = NSHomeDirectory().appendingPathComponent("foo/bar")
XCTAssertEqual(result, expected, "standardizingPath expanding initial tilde.")
#endif
}

// relative file paths depend on file path standardizing that is not yet implemented
Expand Down
Loading