File tree 3 files changed +23
-0
lines changed
3 files changed +23
-0
lines changed Original file line number Diff line number Diff line change @@ -100,6 +100,9 @@ extension OpenFeatureAPI {
100
100
continuation. resume ( )
101
101
holder. removeAll ( )
102
102
}
103
+ if $0 == . error {
104
+ return
105
+ }
103
106
}
104
107
stateObserver. store ( in: & holder)
105
108
setProvider ( provider: provider, initialContext: initialContext)
Original file line number Diff line number Diff line change @@ -65,4 +65,8 @@ class DoSomethingProvider: FeatureProvider {
65
65
public struct DoMetadata : ProviderMetadata {
66
66
public var name : String ? = DoSomethingProvider . name
67
67
}
68
+
69
+ func initWithError( ) {
70
+ eventHandler. send ( . error)
71
+ }
68
72
}
Original file line number Diff line number Diff line change @@ -19,4 +19,20 @@ final class ProviderEventsTests: XCTestCase {
19
19
wait ( for: [ readyExpectation] , timeout: 5 )
20
20
XCTAssertNotNil ( eventState)
21
21
}
22
+
23
+ func testErrorEventSent( ) {
24
+ provider. initWithError ( )
25
+ let errorExpectation = XCTestExpectation ( description: " Error " )
26
+ let eventState = provider
27
+ . observe ( )
28
+ . filter { event in
29
+ event == ProviderEvent . error
30
+ }
31
+ . sink { _ in
32
+ errorExpectation. fulfill ( )
33
+ }
34
+ OpenFeatureAPI . shared. setProvider ( provider: provider)
35
+ wait ( for: [ errorExpectation] , timeout: 5 )
36
+ XCTAssertNotNil ( eventState)
37
+ }
22
38
}
You can’t perform that action at this time.
0 commit comments