@@ -24,7 +24,9 @@ @interface ChipsDelegateTests : XCTestCase <MDCChipFieldDelegate>
24
24
@property (nonatomic , nullable ) MDCChipField *chip;
25
25
@property (nonatomic , copy , nullable ) NSString *delegateTextInput;
26
26
@property (nonatomic ) BOOL delegateShouldBeginEditing;
27
+ @property (nonatomic ) BOOL delegateShouldEndEditing;
27
28
@property (nonatomic ) BOOL delegateDidBeginEditingCalled;
29
+ @property (nonatomic ) BOOL delegateDidEndEditingCalled;
28
30
29
31
@end
30
32
@@ -36,14 +38,17 @@ - (void)setUp {
36
38
self.chip = [[MDCChipField alloc ] init ];
37
39
self.chip .delegate = self;
38
40
self.delegateShouldBeginEditing = YES ;
41
+ self.delegateShouldEndEditing = YES ;
39
42
}
40
43
41
44
- (void )tearDown {
42
45
self.delegateTextInput = nil ;
43
46
self.chip .delegate = nil ;
44
47
self.chip = nil ;
45
48
self.delegateShouldBeginEditing = YES ;
49
+ self.delegateShouldEndEditing = YES ;
46
50
self.delegateDidBeginEditingCalled = NO ;
51
+ self.delegateDidEndEditingCalled = NO ;
47
52
[super tearDown ];
48
53
}
49
54
@@ -68,7 +73,7 @@ - (void)testTouchUpOnClearButtonInvokesDidChangeInputOnDelegate {
68
73
XCTAssertEqual ((unsigned long )self.delegateTextInput .length , 0UL );
69
74
}
70
75
71
- - (void )testDelegateShouldNotBeginEditingDoesNotTriggerDidBeginEditing {
76
+ - (void )testDelegateShouldNotBeginEditing {
72
77
// Given
73
78
self.delegateShouldBeginEditing = NO ;
74
79
@@ -78,10 +83,9 @@ - (void)testDelegateShouldNotBeginEditingDoesNotTriggerDidBeginEditing {
78
83
79
84
// Then
80
85
XCTAssertFalse (shouldBeginEditing);
81
- XCTAssertFalse (self.delegateDidBeginEditingCalled );
82
86
}
83
87
84
- - (void )testShouldBeginEditingTriggersDidBeginEditing {
88
+ - (void )testShouldBeginEditing {
85
89
// Given
86
90
self.delegateShouldBeginEditing = YES ;
87
91
@@ -91,9 +95,48 @@ - (void)testShouldBeginEditingTriggersDidBeginEditing {
91
95
92
96
// Then
93
97
XCTAssertTrue (shouldBeginEditing);
98
+ }
99
+
100
+ - (void )testTextFieldDidBeginEditingTriggersDidBeginEditing {
101
+ // When
102
+ [self .chip.textField.delegate textFieldDidBeginEditing: self .chip.textField];
103
+
104
+ // Then
94
105
XCTAssertTrue (self.delegateDidBeginEditingCalled );
95
106
}
96
107
108
+ - (void )testDelegateShouldNotEndEditing {
109
+ // Given
110
+ self.delegateShouldEndEditing = NO ;
111
+
112
+ // When
113
+ BOOL shouldEndEditing =
114
+ [self .chip.textField.delegate textFieldShouldEndEditing: self .chip.textField];
115
+
116
+ // Then
117
+ XCTAssertFalse (shouldEndEditing);
118
+ }
119
+
120
+ - (void )testDelegateShouldEndEditing {
121
+ // Given
122
+ self.delegateShouldEndEditing = YES ;
123
+
124
+ // When
125
+ BOOL shouldEndEditing =
126
+ [self .chip.textField.delegate textFieldShouldEndEditing: self .chip.textField];
127
+
128
+ // Then
129
+ XCTAssertTrue (shouldEndEditing);
130
+ }
131
+
132
+ - (void )testTextFieldDidEndEditingTriggersDidEndEditing {
133
+ // When
134
+ [self .chip.textField.delegate textFieldDidEndEditing: self .chip.textField];
135
+
136
+ // Then
137
+ XCTAssertTrue (self.delegateDidEndEditingCalled );
138
+ }
139
+
97
140
#pragma mark - MDCChipFieldDelegate
98
141
99
142
- (void )chipField : (nonnull MDCChipField *)chipField didChangeInput : (nullable NSString *)input {
@@ -108,4 +151,12 @@ - (void)chipFieldDidBeginEditing:(MDCChipField *)chipField {
108
151
self.delegateDidBeginEditingCalled = YES ;
109
152
}
110
153
154
+ - (BOOL )chipFieldShouldEndEditing : (MDCChipField *)chipField {
155
+ return self.delegateShouldEndEditing ;
156
+ }
157
+
158
+ - (void )chipFieldDidEndEditing : (MDCChipField *)chipField {
159
+ self.delegateDidEndEditingCalled = YES ;
160
+ }
161
+
111
162
@end
0 commit comments