)]}'
{
  "commit": "96de64ab5541d19f7b15f01427cc8faf0541d01e",
  "tree": "1fe4f9622fea4458990397b1da7f64d99dafb8ac",
  "parents": [
    "c1b1183ec1ede363501f565e0e7cde6dc9845360"
  ],
  "author": {
    "name": "Jenn Magder",
    "email": "magder@google.com",
    "time": "Fri Jan 16 13:09:07 2026 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Jan 16 21:09:07 2026 +0000"
  },
  "message": "[local_auth_darwin] Migrate XCTest to Swift Testing (#10802)\n\nPart of https://github.com/flutter/flutter/issues/180787\r\n\r\n```\r\n◇ Test run started.\r\n↳ Testing Library Version: 102 (arm64-apple-ios13.0-simulator)\r\n◇ Suite LocalAuthPluginTests started.\r\n◇ Test failedAuthWithEvaluateError(errorCode:expectedResult:expectBiometrics:) started.\r\n◇ Test getEnrolledBiometricsWithTouchID() started.\r\n◇ Test successfullAuthWithBiometrics() started.\r\n◇ Test deviceSupportsBiometrics_withEnrolledHardware() started.\r\n◇ Test deviceSupportsBiometrics_withBiometryNotAvailable() started.\r\n◇ Test deviceSupportsBiometrics_withNonEnrolledHardware() started.\r\n◇ Test failedAuthWithCanEvaluateError(error:expectedResult:) started.\r\n◇ Test localizedFallbackTitle() started.\r\n◇ Test deviceSupportsBiometrics_withBiometryNotAvailableWhenPermissionsDenied() started.\r\n◇ Test successfullAuthWithoutBiometrics() started.\r\n◇ Test getEnrolledBiometricsWithoutEnrolledHardware() started.\r\n◇ Test skippedLocalizedFallbackTitle() started.\r\n◇ Test isDeviceSupportedHandlesSupported() started.\r\n◇ Passing 3 arguments errorCode → -9, expectedResult → .appCancel, expectBiometrics → false to failedAuthWithEvaluateError(errorCode:expectedResult:expectBiometrics:)\r\n◇ Test getEnrolledBiometricsWithFaceID() started.\r\n◇ Passing 3 arguments errorCode → -1, expectedResult → .authenticationFailed, expectBiometrics → true to failedAuthWithEvaluateError(errorCode:expectedResult:expectBiometrics:)\r\n◇ Passing 3 arguments errorCode → -4, expectedResult → .systemCancel, expectBiometrics → false to failedAuthWithEvaluateError(errorCode:expectedResult:expectBiometrics:)\r\n◇ Passing 3 arguments errorCode → 99, expectedResult → .unknownError, expectBiometrics → false to failedAuthWithEvaluateError(errorCode:expectedResult:expectBiometrics:)\r\n◇ Passing 3 arguments errorCode → -2, expectedResult → .userCancel, expectBiometrics → false to failedAuthWithEvaluateError(errorCode:expectedResult:expectBiometrics:)\r\n◇ Passing 3 arguments errorCode → -3, expectedResult → .userFallback, expectBiometrics → false to failedAuthWithEvaluateError(errorCode:expectedResult:expectBiometrics:)\r\n◇ Passing 3 arguments errorCode → -1, expectedResult → .authenticationFailed, expectBiometrics → false to failedAuthWithEvaluateError(errorCode:expectedResult:expectBiometrics:)\r\n◇ Passing 2 arguments error → LAError(rawValue: -8), expectedResult → .biometryLockout to failedAuthWithCanEvaluateError(error:expectedResult:)\r\n◇ Passing 2 arguments error → LAError(rawValue: -6), expectedResult → .biometryNotAvailable to failedAuthWithCanEvaluateError(error:expectedResult:)\r\n◇ Test isDeviceSupportedHandlesUnsupported() started.\r\n◇ Passing 2 arguments error → LAError(rawValue: -7), expectedResult → .biometryNotEnrolled to failedAuthWithCanEvaluateError(error:expectedResult:)\r\n◇ Passing 2 arguments error → LAError(rawValue: -10), expectedResult → .invalidContext to failedAuthWithCanEvaluateError(error:expectedResult:)\r\n◇ Passing 2 arguments error → LAError(rawValue: -5), expectedResult → .passcodeNotSet to failedAuthWithCanEvaluateError(error:expectedResult:)\r\n◇ Passing 2 arguments error → LAError(rawValue: -1004), expectedResult → .notInteractive to failedAuthWithCanEvaluateError(error:expectedResult:)\r\n​​​​​✔ Test getEnrolledBiometricsWithTouchID() passed after 0.041 seconds.\r\n​✔ Test deviceSupportsBiometrics_withBiometryNotAvailable() passed after 0.041 seconds.\r\n​✔ Test deviceSupportsBiometrics_withBiometryNotAvailableWhenPermissionsDenied() passed after 0.041 seconds.\r\n​✔ Test deviceSupportsBiometrics_withNonEnrolledHardware() passed after 0.041 seconds.\r\n​✔ Test isDeviceSupportedHandlesSupported() passed after 0.041 seconds.\r\n✔ Test getEnrolledBiometricsWithoutEnrolledHardware() passed after 0.041 seconds.\r\n​✔ Test deviceSupportsBiometrics_withEnrolledHardware() passed after 0.041 seconds.\r\n✔ Test failedAuthWithCanEvaluateError(error:expectedResult:) passed after 0.041 seconds.\r\n​✔ Test getEnrolledBiometricsWithFaceID() passed after 0.041 seconds.\r\n✔ Test successfullAuthWithBiometrics() passed after 0.041 seconds.\r\n✔ Test isDeviceSupportedHandlesUnsupported() passed after 0.002 seconds.\r\n​​✔ Test successfullAuthWithoutBiometrics() passed after 0.042 seconds.\r\n✔ Test failedAuthWithEvaluateError(errorCode:expectedResult:expectBiometrics:) passed after 0.042 seconds.\r\n✔ Test skippedLocalizedFallbackTitle() passed after 0.042 seconds.\r\n✔ Test localizedFallbackTitle() passed after 0.042 seconds.\r\n✔ Suite LocalAuthPluginTests passed after 0.042 seconds.\r\n✔ Test run with 15 tests passed after 0.042 seconds.\r\n```\r\nhttps://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8692498766458966161/+/u/Run_package_tests/native_test/stdout\r\n\r\nAdding CHANGELOG override per https://github.com/flutter/packages/pull/10761#discussion_r2686738994\r\n\r\n## Pre-Review Checklist\r\n\r\n**Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member\u0027s review for guidance on which automated comments should be addressed.\r\n\r\n[^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "71983979733465a150f32d4f1adbab95a720df1b",
      "old_mode": 33188,
      "old_path": "packages/local_auth/local_auth_darwin/darwin/Tests/FLALocalAuthPluginTests.swift",
      "new_id": "492a949dacd1a489606ed53b7416073a3d573437",
      "new_mode": 33188,
      "new_path": "packages/local_auth/local_auth_darwin/darwin/Tests/FLALocalAuthPluginTests.swift"
    },
    {
      "type": "modify",
      "old_id": "57c9b555d49b5b941f0091c0bef7372c7811f4a4",
      "old_mode": 33188,
      "old_path": "packages/local_auth/local_auth_darwin/example/ios/Runner.xcodeproj/project.pbxproj",
      "new_id": "de746b47a519249ef006453d3af1f9e4e8cd5945",
      "new_mode": 33188,
      "new_path": "packages/local_auth/local_auth_darwin/example/ios/Runner.xcodeproj/project.pbxproj"
    },
    {
      "type": "modify",
      "old_id": "b54d673878b34e4ff74b635de385ae7332bbd227",
      "old_mode": 33188,
      "old_path": "packages/local_auth/local_auth_darwin/example/macos/Runner.xcodeproj/project.pbxproj",
      "new_id": "ea56c2f490ba9f47d4e4b21b5b3cad26bed24581",
      "new_mode": 33188,
      "new_path": "packages/local_auth/local_auth_darwin/example/macos/Runner.xcodeproj/project.pbxproj"
    }
  ]
}
