@@ -150,4 +150,30 @@ public async Task Test() {
150
150
Assert . Equal ( MathKeyboardCaretState . TemporarilyHidden , keyboard . CaretState ) ;
151
151
}
152
152
}
153
+ public class CaretCanStartAndStopBlinking {
154
+ // https://github.com/verybadcat/CSharpMath/issues/115
155
+ [ Fact ]
156
+ public async Task Test ( ) {
157
+ var keyboard = new MathKeyboard < TestFont , char > ( TestTypesettingContexts . Instance , new TestFont ( ) ) {
158
+ CaretState = MathKeyboardCaretState . Shown
159
+ } ;
160
+ Assert . Equal ( MathKeyboardCaretState . Shown , keyboard . CaretState ) ;
161
+
162
+ keyboard . StopBlinking ( ) ;
163
+ await Task . Delay ( ( int ) MathKeyboard < TestFont , char > . DefaultBlinkMilliseconds + CaretBlinks . MillisecondBuffer ) ;
164
+ Assert . Equal ( MathKeyboardCaretState . Shown , keyboard . CaretState ) ;
165
+
166
+ keyboard . StartBlinking ( ) ;
167
+ await Task . Delay ( ( int ) MathKeyboard < TestFont , char > . DefaultBlinkMilliseconds + CaretBlinks . MillisecondBuffer ) ;
168
+ Assert . Equal ( MathKeyboardCaretState . TemporarilyHidden , keyboard . CaretState ) ;
169
+
170
+ keyboard . StopBlinking ( ) ;
171
+ await Task . Delay ( ( int ) MathKeyboard < TestFont , char > . DefaultBlinkMilliseconds + CaretBlinks . MillisecondBuffer ) ;
172
+ Assert . Equal ( MathKeyboardCaretState . TemporarilyHidden , keyboard . CaretState ) ;
173
+
174
+ keyboard . StartBlinking ( ) ;
175
+ await Task . Delay ( ( int ) MathKeyboard < TestFont , char > . DefaultBlinkMilliseconds + CaretBlinks . MillisecondBuffer ) ;
176
+ Assert . Equal ( MathKeyboardCaretState . Shown , keyboard . CaretState ) ;
177
+ }
178
+ }
153
179
}
0 commit comments