2323static NSString * const AppName = @" testApp" ;
2424static NSString * const FQNamespace1 = @" testNamespace1:testApp" ;
2525static NSString * const FQNamespace2 = @" testNamespace2:testApp" ;
26+ static NSMutableDictionary <NSString *, NSObject *> *customSignals1 = nil ;
27+ static NSMutableDictionary <NSString *, NSObject *> *customSignals2 = nil ;
2628
2729@interface RCNUserDefaultsManagerTests : XCTestCase
2830
@@ -36,6 +38,13 @@ - (void)setUp {
3638 [[NSUserDefaults standardUserDefaults ]
3739 removePersistentDomainForName: [NSBundle mainBundle ].bundleIdentifier];
3840 RCNUserDefaultsSampleTimeStamp = [[NSDate date ] timeIntervalSince1970 ];
41+
42+ customSignals1 = [[NSMutableDictionary alloc ] initWithDictionary: @{
43+ @" signal1" : @" stringValue" ,
44+ }];
45+ customSignals2 = [[NSMutableDictionary alloc ] initWithDictionary: @{
46+ @" signal2" : @" stringValue2" ,
47+ }];
3948}
4049
4150- (void )testUserDefaultsEtagWriteAndRead {
@@ -168,6 +177,18 @@ - (void)testUserDefaultsCurrentRealtimeThrottlingRetryIntervalWriteAndRead {
168177 RCNUserDefaultsSampleTimeStamp - 2.0 );
169178}
170179
180+ - (void )testUserDefaultsCustomSignalsWriteAndRead {
181+ RCNUserDefaultsManager* manager =
182+ [[RCNUserDefaultsManager alloc ] initWithAppName: AppName
183+ bundleID: [NSBundle mainBundle ].bundleIdentifier
184+ namespace: FQNamespace1];
185+ [manager setCustomSignals: customSignals1];
186+ XCTAssertEqualObjects ([manager customSignals ], customSignals1);
187+
188+ [manager setCustomSignals: customSignals2];
189+ XCTAssertEqualObjects ([manager customSignals ], customSignals2);
190+ }
191+
171192- (void )testUserDefaultsForMultipleNamespaces {
172193 RCNUserDefaultsManager* manager1 =
173194 [[RCNUserDefaultsManager alloc ] initWithAppName: AppName
@@ -248,6 +269,12 @@ - (void)testUserDefaultsForMultipleNamespaces {
248269 [manager2 setLastActiveTemplateVersion: @" 2" ];
249270 XCTAssertEqualObjects ([manager1 lastActiveTemplateVersion ], @" 1" );
250271 XCTAssertEqualObjects ([manager2 lastActiveTemplateVersion ], @" 2" );
272+
273+ // / Custom Singnals
274+ [manager1 setCustomSignals: customSignals1];
275+ [manager2 setCustomSignals: customSignals2];
276+ XCTAssertEqualObjects ([manager1 customSignals ], customSignals1);
277+ XCTAssertEqualObjects ([manager2 customSignals ], customSignals2);
251278}
252279
253280- (void )testUserDefaultsReset {
0 commit comments