|
| 1 | +import ApplicationServices |
1 | 2 | import Foundation |
2 | 3 | import Testing |
3 | 4 |
|
@@ -224,6 +225,54 @@ struct XcodePermissionDialogAutoApproverTests { |
224 | 225 | #expect(decision == nil) |
225 | 226 | } |
226 | 227 |
|
| 228 | + @Test func openWindowsFailureClassifierTreatsExternalViewServiceAXWindowsCannotCompleteAsBenign() { |
| 229 | + let isBenign = XcodePermissionDialogAXFailureClassifier.isBenignOpenWindowsFailure( |
| 230 | + XcodePermissionDialogAXError.copyAttributeFailed( |
| 231 | + attribute: kAXWindowsAttribute as String, |
| 232 | + error: .cannotComplete |
| 233 | + ), |
| 234 | + processBundleIdentifier: "com.apple.dt.ExternalViewService" |
| 235 | + ) |
| 236 | + |
| 237 | + #expect(isBenign) |
| 238 | + } |
| 239 | + |
| 240 | + @Test func openWindowsFailureClassifierRejectsXcodeAXWindowsCannotComplete() { |
| 241 | + let isBenign = XcodePermissionDialogAXFailureClassifier.isBenignOpenWindowsFailure( |
| 242 | + XcodePermissionDialogAXError.copyAttributeFailed( |
| 243 | + attribute: kAXWindowsAttribute as String, |
| 244 | + error: .cannotComplete |
| 245 | + ), |
| 246 | + processBundleIdentifier: "com.apple.dt.Xcode" |
| 247 | + ) |
| 248 | + |
| 249 | + #expect(isBenign == false) |
| 250 | + } |
| 251 | + |
| 252 | + @Test func openWindowsFailureClassifierRejectsExternalViewServiceForDifferentAttribute() { |
| 253 | + let isBenign = XcodePermissionDialogAXFailureClassifier.isBenignOpenWindowsFailure( |
| 254 | + XcodePermissionDialogAXError.copyAttributeFailed( |
| 255 | + attribute: kAXTitleAttribute as String, |
| 256 | + error: .cannotComplete |
| 257 | + ), |
| 258 | + processBundleIdentifier: "com.apple.dt.ExternalViewService" |
| 259 | + ) |
| 260 | + |
| 261 | + #expect(isBenign == false) |
| 262 | + } |
| 263 | + |
| 264 | + @Test func openWindowsFailureClassifierRejectsExternalViewServiceForDifferentAXError() { |
| 265 | + let isBenign = XcodePermissionDialogAXFailureClassifier.isBenignOpenWindowsFailure( |
| 266 | + XcodePermissionDialogAXError.copyAttributeFailed( |
| 267 | + attribute: kAXWindowsAttribute as String, |
| 268 | + error: .attributeUnsupported |
| 269 | + ), |
| 270 | + processBundleIdentifier: "com.apple.dt.ExternalViewService" |
| 271 | + ) |
| 272 | + |
| 273 | + #expect(isBenign == false) |
| 274 | + } |
| 275 | + |
227 | 276 | @Test func defaultAgentPathCandidatesIncludeRawAndResolvedExecutablePaths() throws { |
228 | 277 | let fileManager = FileManager.default |
229 | 278 | let temporaryDirectory = fileManager.temporaryDirectory |
|
0 commit comments