Skip to content
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

[local_auth] iOS Swift migration #119104

Open
Tracked by #119015
hellohuanlin opened this issue Jan 25, 2023 · 0 comments · May be fixed by flutter/packages#7586
Open
Tracked by #119015

[local_auth] iOS Swift migration #119104

hellohuanlin opened this issue Jan 25, 2023 · 0 comments · May be fixed by flutter/packages#7586
Labels
p: local_auth Plugin for local authentification P3 Issues that are less important to the Flutter project package flutter/packages repository. See also p: labels. platform-ios iOS applications specifically team-ios Owned by iOS platform team triaged-ios Triaged by iOS platform team

Comments

@hellohuanlin
Copy link
Contributor

hellohuanlin commented Jan 25, 2023

Please refer to this umbrella issue for more details.

This is a relatively small plugin. Unit test coverage is low, but it mainly contains stateless helpers, so backfilling those testes should be relatively easier.

Please don't forget to backfill tests to reduce the risk of regression, as explained in the wiki.

@hellohuanlin hellohuanlin added platform-ios iOS applications specifically plugin p: local_auth Plugin for local authentification P3 Issues that are less important to the Flutter project labels Jan 25, 2023
@flutter-triage-bot flutter-triage-bot bot added the package flutter/packages repository. See also p: labels. label Jul 5, 2023
@Hixie Hixie removed the plugin label Jul 6, 2023
@flutter-triage-bot flutter-triage-bot bot added multiteam-retriage-candidate team-ios Owned by iOS platform team triaged-ios Triaged by iOS platform team labels Jul 8, 2023
stuartmorgan added a commit to stuartmorgan/packages that referenced this issue May 17, 2024
Adjusts the iOS implementation of local_auth to use a protocol wrapping
the relevant parts of `LAContext` instead of using `LAContext` directly,
allowing the tests to use a stub implementation instead of OCMock.

The goal is to unblock converting the unit tests to Swift, but even by
itself this actually makes the tests much shorter and easier to
understand.

Part of flutter/flutter#119104
auto-submit bot pushed a commit to flutter/packages that referenced this issue May 21, 2024
Adjusts the iOS implementation of local_auth to use a protocol wrapping the relevant parts of `LAContext` instead of using `LAContext` directly, allowing the tests to use a stub implementation instead of OCMock.

The goal is to unblock converting the unit tests to Swift, but even by itself this actually makes the tests much shorter and easier to understand.

Part of flutter/flutter#119104
stuartmorgan added a commit to stuartmorgan/packages that referenced this issue May 21, 2024
Converts native unit tests from Objective-C to Swift, as a first step
toward an eventual plugin conversion. Since OCMock usage was removed in
a previous PR, the tests are converted essentially directly (the
rewrites were largely mechanical syntax replacement), without any
changes needed to production code.

Part of flutter/flutter#119104
TecHaxter pushed a commit to TecHaxter/flutter_packages that referenced this issue May 22, 2024
Adjusts the iOS implementation of local_auth to use a protocol wrapping the relevant parts of `LAContext` instead of using `LAContext` directly, allowing the tests to use a stub implementation instead of OCMock.

The goal is to unblock converting the unit tests to Swift, but even by itself this actually makes the tests much shorter and easier to understand.

Part of flutter/flutter#119104
auto-submit bot pushed a commit to flutter/packages that referenced this issue May 22, 2024
Converts native unit tests from Objective-C to Swift, as a first step toward an eventual plugin conversion. Since OCMock usage was removed in a previous PR, the tests are converted essentially directly (the rewrites were largely mechanical syntax replacement), without any changes needed to production code.

There are a few places where interacting with the Pigeon-generated Obj-C is somewhat awkward because the NSError signature isn't auto-converting to `throw` in cases where we use `NSNumber` wrapping, but all that will get cleaned up when we switch the plugin over to Swift Pigeon generation and have idiomatic Swift APIs that the tests will be calling instead.

Fixes a couple of false positives in the repo tooling surfaced by this PR:
- `darwin/Tests/` wasn't recognized as a test directory.
- Swift tests weren't recognized as exempt from requiring Swift entries in the podspec.

Part of flutter/flutter#119104
arc-yong pushed a commit to Arctuition/packages-arc that referenced this issue Jun 14, 2024
Adjusts the iOS implementation of local_auth to use a protocol wrapping the relevant parts of `LAContext` instead of using `LAContext` directly, allowing the tests to use a stub implementation instead of OCMock.

The goal is to unblock converting the unit tests to Swift, but even by itself this actually makes the tests much shorter and easier to understand.

Part of flutter/flutter#119104
arc-yong pushed a commit to Arctuition/packages-arc that referenced this issue Jun 14, 2024
Converts native unit tests from Objective-C to Swift, as a first step toward an eventual plugin conversion. Since OCMock usage was removed in a previous PR, the tests are converted essentially directly (the rewrites were largely mechanical syntax replacement), without any changes needed to production code.

There are a few places where interacting with the Pigeon-generated Obj-C is somewhat awkward because the NSError signature isn't auto-converting to `throw` in cases where we use `NSNumber` wrapping, but all that will get cleaned up when we switch the plugin over to Swift Pigeon generation and have idiomatic Swift APIs that the tests will be calling instead.

Fixes a couple of false positives in the repo tooling surfaced by this PR:
- `darwin/Tests/` wasn't recognized as a test directory.
- Swift tests weren't recognized as exempt from requiring Swift entries in the podspec.

Part of flutter/flutter#119104
@Mairramer Mairramer linked a pull request Sep 5, 2024 that will close this issue
11 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
p: local_auth Plugin for local authentification P3 Issues that are less important to the Flutter project package flutter/packages repository. See also p: labels. platform-ios iOS applications specifically team-ios Owned by iOS platform team triaged-ios Triaged by iOS platform team
Projects
None yet
3 participants