File tree Expand file tree Collapse file tree 2 files changed +32
-5
lines changed Expand file tree Collapse file tree 2 files changed +32
-5
lines changed Original file line number Diff line number Diff line change @@ -38,14 +38,17 @@ class FiltersBefore {
38
38
39
39
static func selectCalendarTypes( types: [ EKCalendarType ] ) -> ( ( EKEvent ) -> Bool ) {
40
40
{ event in
41
+ // if no selection, allow everything
42
+ if types. isEmpty {
43
+ return true
44
+ }
45
+
46
+ // if event has no valid calendar, don't show
41
47
if event. calendar == nil {
42
48
return false
43
49
}
44
- let id = event. calendar. type
45
- if types. contains ( id) {
46
- return true
47
- }
48
- return false
50
+
51
+ return types. contains ( event. calendar. type)
49
52
}
50
53
}
51
54
Original file line number Diff line number Diff line change @@ -76,4 +76,28 @@ final class FiltersBeforeTests: XCTestCase {
76
76
77
77
XCTAssertEqual ( actual, expected, " The event was rejected " )
78
78
}
79
+
80
+ func testSelectCalendarTypesMatching( ) {
81
+ let event = genEKEvent ( calendar: eventStore. defaultCalendarForNewEvents)
82
+ let expected = true
83
+ let actual = FiltersBefore . selectCalendarTypes ( types: [ event. calendar. type] ) ( event)
84
+
85
+ XCTAssertEqual ( actual, expected, " The event was rejected " )
86
+ }
87
+
88
+ func testSelectCalendarTypesNotMatching( ) {
89
+ let event = genEKEvent ( calendar: eventStore. defaultCalendarForNewEvents)
90
+ let expected = false
91
+ let actual = FiltersBefore . selectCalendarTypes ( types: [ EKCalendarType . birthday] ) ( event)
92
+
93
+ XCTAssertEqual ( actual, expected, " The event was accepted " )
94
+ }
95
+
96
+ func testSelectCalendarTypesEmptyArray( ) {
97
+ let event = genEKEvent ( calendar: eventStore. defaultCalendarForNewEvents)
98
+ let expected = true
99
+ let actual = FiltersBefore . selectCalendarTypes ( types: [ ] ) ( event)
100
+
101
+ XCTAssertEqual ( actual, expected, " The event was rejected " )
102
+ }
79
103
}
You can’t perform that action at this time.
0 commit comments