Skip to content

Commit 1d41bda

Browse files
noahsmartinlucas-zimermanantonis
authored
ref: Use SentryOptionsInternal (#5018)
* ref: Use SentryOptionsInternal * Try supporting both versions --------- Co-authored-by: LucasZF <[email protected]> Co-authored-by: Antonis Lilis <[email protected]>
1 parent 63ca395 commit 1d41bda

File tree

2 files changed

+80
-1
lines changed

2 files changed

+80
-1
lines changed

packages/core/RNSentryCocoaTester/RNSentryCocoaTesterTests/RNSentryReplayOptionsTests.swift

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,11 @@ final class RNSentryReplayOptions: XCTestCase {
6767
] as NSDictionary).mutableCopy() as! NSMutableDictionary
6868
RNSentryReplay.updateOptions(optionsDict)
6969

70+
#if CROSS_PLATFORM_TEST
71+
let actualOptions = try! SentryOptionsInternal.initWithDict(optionsDict as! [String: Any])
72+
#else
7073
let actualOptions = try! Options(dict: optionsDict as! [String: Any])
74+
#endif
7175
XCTAssertEqual(actualOptions.sessionReplay.sessionSampleRate, 0.75)
7276
}
7377

@@ -78,7 +82,11 @@ final class RNSentryReplayOptions: XCTestCase {
7882
] as NSDictionary).mutableCopy() as! NSMutableDictionary
7983
RNSentryReplay.updateOptions(optionsDict)
8084

85+
#if CROSS_PLATFORM_TEST
86+
let actualOptions = try! SentryOptionsInternal.initWithDict(optionsDict as! [String: Any])
87+
#else
8188
let actualOptions = try! Options(dict: optionsDict as! [String: Any])
89+
#endif
8290
XCTAssertEqual(actualOptions.sessionReplay.onErrorSampleRate, 0.75)
8391
}
8492

@@ -108,7 +116,11 @@ final class RNSentryReplayOptions: XCTestCase {
108116

109117
RNSentryReplay.updateOptions(optionsDict)
110118

119+
#if CROSS_PLATFORM_TEST
120+
let actualOptions = try! SentryOptionsInternal.initWithDict(optionsDict as! [String: Any])
121+
#else
111122
let actualOptions = try! Options(dict: optionsDict as! [String: Any])
123+
#endif
112124

113125
XCTAssertEqual(actualOptions.sessionReplay.maskAllImages, true)
114126
assertContainsClass(classArray: actualOptions.sessionReplay.maskedViewClasses, stringClass: "RCTImageView")
@@ -123,7 +135,11 @@ final class RNSentryReplayOptions: XCTestCase {
123135

124136
RNSentryReplay.updateOptions(optionsDict)
125137

138+
#if CROSS_PLATFORM_TEST
139+
let actualOptions = try! SentryOptionsInternal.initWithDict(optionsDict as! [String: Any])
140+
#else
126141
let actualOptions = try! Options(dict: optionsDict as! [String: Any])
142+
#endif
127143

128144
XCTAssertEqual(actualOptions.sessionReplay.maskAllImages, false)
129145
XCTAssertEqual(actualOptions.sessionReplay.maskedViewClasses.count, 0)
@@ -138,7 +154,11 @@ final class RNSentryReplayOptions: XCTestCase {
138154

139155
RNSentryReplay.updateOptions(optionsDict)
140156

157+
#if CROSS_PLATFORM_TEST
158+
let actualOptions = try! SentryOptionsInternal.initWithDict(optionsDict as! [String: Any])
159+
#else
141160
let actualOptions = try! Options(dict: optionsDict as! [String: Any])
161+
#endif
142162

143163
XCTAssertEqual(actualOptions.sessionReplay.maskAllText, true)
144164
assertContainsClass(classArray: actualOptions.sessionReplay.maskedViewClasses, stringClass: "RCTTextView")
@@ -162,7 +182,11 @@ final class RNSentryReplayOptions: XCTestCase {
162182

163183
RNSentryReplay.updateOptions(optionsDict)
164184

185+
#if CROSS_PLATFORM_TEST
186+
let actualOptions = try! SentryOptionsInternal.initWithDict(optionsDict as! [String: Any])
187+
#else
165188
let actualOptions = try! Options(dict: optionsDict as! [String: Any])
189+
#endif
166190

167191
XCTAssertEqual(actualOptions.sessionReplay.maskAllText, false)
168192
XCTAssertEqual(actualOptions.sessionReplay.maskedViewClasses.count, 0)
@@ -176,7 +200,11 @@ final class RNSentryReplayOptions: XCTestCase {
176200

177201
RNSentryReplay.updateOptions(optionsDict)
178202

203+
#if CROSS_PLATFORM_TEST
204+
let actualOptions = try! SentryOptionsInternal.initWithDict(optionsDict as! [String: Any])
205+
#else
179206
let actualOptions = try! Options(dict: optionsDict as! [String: Any])
207+
#endif
180208

181209
XCTAssertTrue(actualOptions.sessionReplay.enableViewRendererV2)
182210
}
@@ -190,7 +218,11 @@ final class RNSentryReplayOptions: XCTestCase {
190218

191219
RNSentryReplay.updateOptions(optionsDict)
192220

221+
#if CROSS_PLATFORM_TEST
222+
let actualOptions = try! SentryOptionsInternal.initWithDict(optionsDict as! [String: Any])
223+
#else
193224
let actualOptions = try! Options(dict: optionsDict as! [String: Any])
225+
#endif
194226

195227
XCTAssertTrue(actualOptions.sessionReplay.enableViewRendererV2)
196228
}
@@ -204,7 +236,11 @@ final class RNSentryReplayOptions: XCTestCase {
204236

205237
RNSentryReplay.updateOptions(optionsDict)
206238

239+
#if CROSS_PLATFORM_TEST
240+
let actualOptions = try! SentryOptionsInternal.initWithDict(optionsDict as! [String: Any])
241+
#else
207242
let actualOptions = try! Options(dict: optionsDict as! [String: Any])
243+
#endif
208244

209245
XCTAssertFalse(actualOptions.sessionReplay.enableViewRendererV2)
210246
}
@@ -217,7 +253,11 @@ final class RNSentryReplayOptions: XCTestCase {
217253

218254
RNSentryReplay.updateOptions(optionsDict)
219255

256+
#if CROSS_PLATFORM_TEST
257+
let actualOptions = try! SentryOptionsInternal.initWithDict(optionsDict as! [String: Any])
258+
#else
220259
let actualOptions = try! Options(dict: optionsDict as! [String: Any])
260+
#endif
221261

222262
XCTAssertFalse(actualOptions.sessionReplay.enableFastViewRendering)
223263
}
@@ -231,7 +271,11 @@ final class RNSentryReplayOptions: XCTestCase {
231271

232272
RNSentryReplay.updateOptions(optionsDict)
233273

274+
#if CROSS_PLATFORM_TEST
275+
let actualOptions = try! SentryOptionsInternal.initWithDict(optionsDict as! [String: Any])
276+
#else
234277
let actualOptions = try! Options(dict: optionsDict as! [String: Any])
278+
#endif
235279

236280
XCTAssertTrue(actualOptions.sessionReplay.enableFastViewRendering)
237281
}
@@ -245,7 +289,11 @@ final class RNSentryReplayOptions: XCTestCase {
245289

246290
RNSentryReplay.updateOptions(optionsDict)
247291

292+
#if CROSS_PLATFORM_TEST
293+
let actualOptions = try! SentryOptionsInternal.initWithDict(optionsDict as! [String: Any])
294+
#else
248295
let actualOptions = try! Options(dict: optionsDict as! [String: Any])
296+
#endif
249297

250298
XCTAssertFalse(actualOptions.sessionReplay.enableFastViewRendering)
251299
}
@@ -258,7 +306,11 @@ final class RNSentryReplayOptions: XCTestCase {
258306

259307
RNSentryReplay.updateOptions(optionsDict)
260308

309+
#if CROSS_PLATFORM_TEST
310+
let actualOptions = try! SentryOptionsInternal.initWithDict(optionsDict as! [String: Any])
311+
#else
261312
let actualOptions = try! Options(dict: optionsDict as! [String: Any])
313+
#endif
262314

263315
XCTAssertEqual(actualOptions.sessionReplay.quality, SentryReplayOptions.SentryReplayQuality.medium)
264316
}
@@ -272,7 +324,11 @@ final class RNSentryReplayOptions: XCTestCase {
272324

273325
RNSentryReplay.updateOptions(optionsDict)
274326

327+
#if CROSS_PLATFORM_TEST
328+
let actualOptions = try! SentryOptionsInternal.initWithDict(optionsDict as! [String: Any])
329+
#else
275330
let actualOptions = try! Options(dict: optionsDict as! [String: Any])
331+
#endif
276332

277333
XCTAssertEqual(actualOptions.sessionReplay.quality, SentryReplayOptions.SentryReplayQuality.low)
278334
}
@@ -286,7 +342,11 @@ final class RNSentryReplayOptions: XCTestCase {
286342

287343
RNSentryReplay.updateOptions(optionsDict)
288344

345+
#if CROSS_PLATFORM_TEST
346+
let actualOptions = try! SentryOptionsInternal.initWithDict(optionsDict as! [String: Any])
347+
#else
289348
let actualOptions = try! Options(dict: optionsDict as! [String: Any])
349+
#endif
290350

291351
XCTAssertEqual(actualOptions.sessionReplay.quality, SentryReplayOptions.SentryReplayQuality.medium)
292352
}
@@ -300,7 +360,11 @@ final class RNSentryReplayOptions: XCTestCase {
300360

301361
RNSentryReplay.updateOptions(optionsDict)
302362

363+
#if CROSS_PLATFORM_TEST
364+
let actualOptions = try! SentryOptionsInternal.initWithDict(optionsDict as! [String: Any])
365+
#else
303366
let actualOptions = try! Options(dict: optionsDict as! [String: Any])
367+
#endif
304368

305369
XCTAssertEqual(actualOptions.sessionReplay.quality, SentryReplayOptions.SentryReplayQuality.high)
306370
}
@@ -314,7 +378,11 @@ final class RNSentryReplayOptions: XCTestCase {
314378

315379
RNSentryReplay.updateOptions(optionsDict)
316380

381+
#if CROSS_PLATFORM_TEST
382+
let actualOptions = try! SentryOptionsInternal.initWithDict(optionsDict as! [String: Any])
383+
#else
317384
let actualOptions = try! Options(dict: optionsDict as! [String: Any])
385+
#endif
318386

319387
XCTAssertEqual(actualOptions.sessionReplay.quality, SentryReplayOptions.SentryReplayQuality.medium)
320388
}

packages/core/ios/RNSentry.mm

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,13 @@
2424
#import <Sentry/SentryDebugImageProvider+HybridSDKs.h>
2525
#import <Sentry/SentryDependencyContainer.h>
2626
#import <Sentry/SentryFormatter.h>
27-
#import <Sentry/SentryOptions+HybridSDKs.h>
27+
#if __has_include(<Sentry/SentryOptions+HybridSDKs.h>)
28+
# define USE_SENTRY_OPTIONS 1
29+
# import <Sentry/SentryOptions+HybridSDKs.h>
30+
#else
31+
# define USE_SENTRY_OPTIONS 0
32+
# import <Sentry/SentryOptionsInternal.h>
33+
#endif
2834
#import <Sentry/SentryScreenFrames.h>
2935

3036
// This guard prevents importing Hermes in JSC apps
@@ -165,8 +171,13 @@ - (SentryOptions *_Nullable)createOptionsWithDictionary:(NSDictionary *_Nonnull)
165171
[RNSentryReplay updateOptions:mutableOptions];
166172
#endif
167173

174+
#if USE_SENTRY_OPTIONS
168175
SentryOptions *sentryOptions = [[SentryOptions alloc] initWithDict:mutableOptions
169176
didFailWithError:errorPointer];
177+
#else
178+
SentryOptions *sentryOptions = [SentryOptionsInternal initWithDict:mutableOptions
179+
didFailWithError:errorPointer];
180+
#endif
170181
if (*errorPointer != nil) {
171182
return nil;
172183
}

0 commit comments

Comments
 (0)