From 305e4a1baa221d85241ddd18093d75f4b9d697a2 Mon Sep 17 00:00:00 2001 From: Akshat Gandhi <54901287+AkshatG6@users.noreply.github.com> Date: Tue, 13 Jan 2026 13:45:19 -0800 Subject: [PATCH 1/4] Added amr claim type along with unit tests --- GoogleSignIn/Sources/GIDClaim.m | 9 +++++++ .../Sources/Public/GoogleSignIn/GIDClaim.h | 7 ++++++ GoogleSignIn/Tests/Unit/GIDClaimTest.m | 12 ++++++++++ .../GoogleSignIn-UnitTests.xctestplan | 24 +++++++++++++++++++ 4 files changed, 52 insertions(+) create mode 100644 Samples/Swift/DaysUntilBirthday/GoogleSignIn-UnitTests.xctestplan diff --git a/GoogleSignIn/Sources/GIDClaim.m b/GoogleSignIn/Sources/GIDClaim.m index 13792cae..f9e92e8a 100644 --- a/GoogleSignIn/Sources/GIDClaim.m +++ b/GoogleSignIn/Sources/GIDClaim.m @@ -17,6 +17,7 @@ #import "GoogleSignIn/Sources/Public/GoogleSignIn/GIDClaim.h" NSString * const kAuthTimeClaimName = @"auth_time"; +NSString * const kAMRClaimName = @"amr"; // Private interface to declare the internal initializer @interface GIDClaim () @@ -48,6 +49,14 @@ + (instancetype)essentialAuthTimeClaim { return [[self alloc] initWithName:kAuthTimeClaimName essential:YES]; } ++ (instancetype)amrClaim { + return [[self alloc] initWithName:kAMRClaimName essential:NO]; +} + ++ (instancetype)essentialAMRClaim { + return [[self alloc] initWithName:kAMRClaimName essential:YES]; +} + #pragma mark - NSObject - (BOOL)isEqual:(id)object { diff --git a/GoogleSignIn/Sources/Public/GoogleSignIn/GIDClaim.h b/GoogleSignIn/Sources/Public/GoogleSignIn/GIDClaim.h index bc266930..4b944e26 100644 --- a/GoogleSignIn/Sources/Public/GoogleSignIn/GIDClaim.h +++ b/GoogleSignIn/Sources/Public/GoogleSignIn/GIDClaim.h @@ -19,6 +19,7 @@ NS_ASSUME_NONNULL_BEGIN extern NSString *const kAuthTimeClaimName; +extern NSString *const kAMRClaimName; /** * An object representing a single OIDC claim to be requested for an ID token. @@ -42,6 +43,12 @@ extern NSString *const kAuthTimeClaimName; /// Creates an *essential* "auth_time" claim object. + (instancetype)essentialAuthTimeClaim; +/// Creates a *non-essential* (voluntary) "amr" claim object. ++ (instancetype)amrClaim; + +/// Creates an *essential* "amr" claim object. ++ (instancetype)essentialAMRClaim; + @end NS_ASSUME_NONNULL_END diff --git a/GoogleSignIn/Tests/Unit/GIDClaimTest.m b/GoogleSignIn/Tests/Unit/GIDClaimTest.m index e014d885..9984163b 100644 --- a/GoogleSignIn/Tests/Unit/GIDClaimTest.m +++ b/GoogleSignIn/Tests/Unit/GIDClaimTest.m @@ -33,6 +33,18 @@ - (void)testEssentialAuthTimeClaim_PropertiesAreCorrect { XCTAssertTrue(claim.isEssential); } +- (void)testAMRClaim_PropertiesAreCorrect { + GIDClaim *claim = [GIDClaim amrClaim]; + XCTAssertEqualObjects(claim.name, kAMRClaimName); + XCTAssertFalse(claim.isEssential); +} + +- (void)testEssentialAMRClaim_PropertiesAreCorrect { + GIDClaim *claim = [GIDClaim essentialAMRClaim]; + XCTAssertEqualObjects(claim.name, kAMRClaimName); + XCTAssertTrue(claim.isEssential); +} + - (void)testEquality_WithEqualClaims { GIDClaim *claim1 = [GIDClaim authTimeClaim]; GIDClaim *claim2 = [GIDClaim authTimeClaim]; diff --git a/Samples/Swift/DaysUntilBirthday/GoogleSignIn-UnitTests.xctestplan b/Samples/Swift/DaysUntilBirthday/GoogleSignIn-UnitTests.xctestplan new file mode 100644 index 00000000..b2659cb5 --- /dev/null +++ b/Samples/Swift/DaysUntilBirthday/GoogleSignIn-UnitTests.xctestplan @@ -0,0 +1,24 @@ +{ + "configurations" : [ + { + "id" : "E1592086-F47A-47B0-89F5-A5A3C3FBEF58", + "name" : "Test Scheme Action", + "options" : { + + } + } + ], + "defaultOptions" : { + + }, + "testTargets" : [ + { + "target" : { + "containerPath" : "container:", + "identifier" : "GoogleSignIn-UnitTests", + "name" : "GoogleSignIn-UnitTests" + } + } + ], + "version" : 1 +} From e46530dbe97077be5e5f0678011b3239475b7117 Mon Sep 17 00:00:00 2001 From: Akshat Gandhi <54901287+AkshatG6@users.noreply.github.com> Date: Tue, 13 Jan 2026 14:02:18 -0800 Subject: [PATCH 2/4] Removed .xctest file added by mistake --- .../GoogleSignIn-UnitTests.xctestplan | 24 ------------------- 1 file changed, 24 deletions(-) delete mode 100644 Samples/Swift/DaysUntilBirthday/GoogleSignIn-UnitTests.xctestplan diff --git a/Samples/Swift/DaysUntilBirthday/GoogleSignIn-UnitTests.xctestplan b/Samples/Swift/DaysUntilBirthday/GoogleSignIn-UnitTests.xctestplan deleted file mode 100644 index b2659cb5..00000000 --- a/Samples/Swift/DaysUntilBirthday/GoogleSignIn-UnitTests.xctestplan +++ /dev/null @@ -1,24 +0,0 @@ -{ - "configurations" : [ - { - "id" : "E1592086-F47A-47B0-89F5-A5A3C3FBEF58", - "name" : "Test Scheme Action", - "options" : { - - } - } - ], - "defaultOptions" : { - - }, - "testTargets" : [ - { - "target" : { - "containerPath" : "container:", - "identifier" : "GoogleSignIn-UnitTests", - "name" : "GoogleSignIn-UnitTests" - } - } - ], - "version" : 1 -} From 39d45140bd663d7e22e9935cac8ddefabfa6cde0 Mon Sep 17 00:00:00 2001 From: Akshat Gandhi <54901287+AkshatG6@users.noreply.github.com> Date: Tue, 13 Jan 2026 14:27:23 -0800 Subject: [PATCH 3/4] Renamed amrClaim to AMRClaim to follow Google's Obj-c guideline for names starting with Acronyms --- GoogleSignIn/Sources/GIDClaim.m | 2 +- GoogleSignIn/Sources/Public/GoogleSignIn/GIDClaim.h | 2 +- GoogleSignIn/Tests/Unit/GIDClaimTest.m | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/GoogleSignIn/Sources/GIDClaim.m b/GoogleSignIn/Sources/GIDClaim.m index f9e92e8a..7d8ec3ec 100644 --- a/GoogleSignIn/Sources/GIDClaim.m +++ b/GoogleSignIn/Sources/GIDClaim.m @@ -49,7 +49,7 @@ + (instancetype)essentialAuthTimeClaim { return [[self alloc] initWithName:kAuthTimeClaimName essential:YES]; } -+ (instancetype)amrClaim { ++ (instancetype)AMRClaim { return [[self alloc] initWithName:kAMRClaimName essential:NO]; } diff --git a/GoogleSignIn/Sources/Public/GoogleSignIn/GIDClaim.h b/GoogleSignIn/Sources/Public/GoogleSignIn/GIDClaim.h index 4b944e26..8ff96a95 100644 --- a/GoogleSignIn/Sources/Public/GoogleSignIn/GIDClaim.h +++ b/GoogleSignIn/Sources/Public/GoogleSignIn/GIDClaim.h @@ -44,7 +44,7 @@ extern NSString *const kAMRClaimName; + (instancetype)essentialAuthTimeClaim; /// Creates a *non-essential* (voluntary) "amr" claim object. -+ (instancetype)amrClaim; ++ (instancetype)AMRClaim; /// Creates an *essential* "amr" claim object. + (instancetype)essentialAMRClaim; diff --git a/GoogleSignIn/Tests/Unit/GIDClaimTest.m b/GoogleSignIn/Tests/Unit/GIDClaimTest.m index 9984163b..bb955e8c 100644 --- a/GoogleSignIn/Tests/Unit/GIDClaimTest.m +++ b/GoogleSignIn/Tests/Unit/GIDClaimTest.m @@ -34,7 +34,7 @@ - (void)testEssentialAuthTimeClaim_PropertiesAreCorrect { } - (void)testAMRClaim_PropertiesAreCorrect { - GIDClaim *claim = [GIDClaim amrClaim]; + GIDClaim *claim = [GIDClaim AMRClaim]; XCTAssertEqualObjects(claim.name, kAMRClaimName); XCTAssertFalse(claim.isEssential); } From ba11f69d174d20e674328bb12505c5ae5ef4c172 Mon Sep 17 00:00:00 2001 From: Akshat Gandhi <54901287+AkshatG6@users.noreply.github.com> Date: Tue, 13 Jan 2026 14:33:37 -0800 Subject: [PATCH 4/4] Cleaning existing styling issues --- GoogleSignIn/Sources/GIDClaim.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/GoogleSignIn/Sources/GIDClaim.m b/GoogleSignIn/Sources/GIDClaim.m index 7d8ec3ec..2179ec91 100644 --- a/GoogleSignIn/Sources/GIDClaim.m +++ b/GoogleSignIn/Sources/GIDClaim.m @@ -16,8 +16,8 @@ #import "GoogleSignIn/Sources/Public/GoogleSignIn/GIDClaim.h" -NSString * const kAuthTimeClaimName = @"auth_time"; -NSString * const kAMRClaimName = @"amr"; +NSString *const kAuthTimeClaimName = @"auth_time"; +NSString *const kAMRClaimName = @"amr"; // Private interface to declare the internal initializer @interface GIDClaim ()