File tree 2 files changed +15
-3
lines changed
2 files changed +15
-3
lines changed Original file line number Diff line number Diff line change @@ -96,7 +96,7 @@ extension OpenFeatureAPI {
96
96
var holder : [ AnyCancellable ] = [ ]
97
97
await withCheckedContinuation { continuation in
98
98
let stateObserver = provider. observe ( ) . sink {
99
- if $0 == . ready {
99
+ if $0 == . ready || $0 == . error {
100
100
continuation. resume ( )
101
101
holder. removeAll ( )
102
102
}
Original file line number Diff line number Diff line change @@ -73,12 +73,24 @@ final class DeveloperExperienceTests: XCTestCase {
73
73
let provider = InjectableEventHandlerProvider ( eventHandler: eventHandler)
74
74
Task {
75
75
await OpenFeatureAPI . shared. setProviderAndWait ( provider: provider)
76
- wait ( for: [ readyExpectation] , timeout: 0 )
76
+ wait ( for: [ readyExpectation] , timeout: 1 )
77
77
initCompleteExpectation. fulfill ( )
78
78
}
79
+
79
80
wait ( for: [ staleExpectation] , timeout: 1 )
80
81
eventHandler. send ( . ready)
81
- wait ( for: [ initCompleteExpectation] , timeout: 2 )
82
+ wait ( for: [ initCompleteExpectation] , timeout: 1 )
83
+
84
+ let errorProviderExpectation = XCTestExpectation ( )
85
+ let brokenProvider = AlwaysBrokenProvider ( )
86
+ Task {
87
+ await OpenFeatureAPI . shared. setProviderAndWait ( provider: brokenProvider)
88
+ wait ( for: [ errorExpectation] , timeout: 2 )
89
+ errorProviderExpectation. fulfill ( )
90
+ }
91
+
92
+ eventHandler. send ( . error)
93
+ wait ( for: [ errorProviderExpectation] , timeout: 2 )
82
94
}
83
95
}
84
96
You can’t perform that action at this time.
0 commit comments