public async Task Test() { var keyboard = new MathKeyboard <TestFont, TGlyph>(TestTypesettingContexts.Instance, new TestFont()) { InsertionPositionHighlighted = true }; Assert.True(keyboard.ShouldDrawCaret); await Task.Delay((int)MathKeyboard <TestFont, TGlyph> .DefaultBlinkMilliseconds - CaretBlinks.MillisecondBuffer); Assert.True(keyboard.ShouldDrawCaret); keyboard.KeyPress(MathKeyboardInput.A); await Task.Delay((int)MathKeyboard <TestFont, TGlyph> .DefaultBlinkMilliseconds - CaretBlinks.MillisecondBuffer); Assert.True(keyboard.ShouldDrawCaret); keyboard.KeyPress(MathKeyboardInput.Left); await Task.Delay((int)MathKeyboard <TestFont, TGlyph> .DefaultBlinkMilliseconds - CaretBlinks.MillisecondBuffer); Assert.True(keyboard.ShouldDrawCaret); await Task.Delay(4 *CaretBlinks.MillisecondBuffer); Assert.False(keyboard.ShouldDrawCaret); }
public async Task CustomizedPlaceholderBlinks() { keyboard.KeyPress(MathKeyboardInput.Subscript); var outer = Assert.IsType <Atom.Atoms.Placeholder>(Assert.Single(keyboard.MathList)); var inner = Assert.IsType <Atom.Atoms.Placeholder>(Assert.Single(outer.Subscript)); Assert.True(keyboard.InsertionPositionHighlighted); Assert.False(keyboard.ShouldDrawCaret); Assert.Equal("😐", outer.Nucleus); Assert.Equal(System.Drawing.Color.Blue, outer.Color); Assert.Equal("😀", inner.Nucleus); Assert.Equal(System.Drawing.Color.Green, inner.Color); await Task.Delay((int)MathKeyboard <TestFont, TGlyph> .DefaultBlinkMilliseconds + CaretBlinks.MillisecondBuffer); Assert.False(keyboard.InsertionPositionHighlighted); Assert.False(keyboard.ShouldDrawCaret); Assert.Equal("😐", outer.Nucleus); Assert.Equal(System.Drawing.Color.Blue, outer.Color); Assert.Equal("😐", inner.Nucleus); Assert.Equal(System.Drawing.Color.Blue, inner.Color); await Task.Delay((int)MathKeyboard <TestFont, TGlyph> .DefaultBlinkMilliseconds + CaretBlinks.MillisecondBuffer); Assert.True(keyboard.InsertionPositionHighlighted); Assert.False(keyboard.ShouldDrawCaret); Assert.Equal("😐", outer.Nucleus); Assert.Equal(System.Drawing.Color.Blue, outer.Color); Assert.Equal("😀", inner.Nucleus); Assert.Equal(System.Drawing.Color.Green, inner.Color); }
public async Task Test() { var keyboard = new MathKeyboard <TestFont, char>(TestTypesettingContexts.Instance, new TestFont()) { CaretState = MathKeyboardCaretState.Shown }; Assert.Equal(MathKeyboardCaretState.Shown, keyboard.CaretState); keyboard.KeyPress(MathKeyboardInput.Subscript); var outer = Assert.IsType <Atom.Atoms.Placeholder>(Assert.Single(keyboard.MathList)); var inner = Assert.IsType <Atom.Atoms.Placeholder>(Assert.Single(outer.Subscript)); Assert.Equal(MathKeyboardCaretState.ShownThroughPlaceholder, keyboard.CaretState); Assert.Equal("\u25A1", outer.Nucleus); Assert.Equal("\u25A0", inner.Nucleus); await Task.Delay((int)MathKeyboard <TestFont, char> .DefaultBlinkMilliseconds + CaretBlinks.MillisecondBuffer); Assert.Equal(MathKeyboardCaretState.TemporarilyHidden, keyboard.CaretState); keyboard.KeyPress(MathKeyboardInput.Left); Assert.Equal(MathKeyboardCaretState.ShownThroughPlaceholder, keyboard.CaretState); Assert.Equal("\u25A0", outer.Nucleus); Assert.Equal("\u25A1", inner.Nucleus); Assert.Equal(MathKeyboardCaretState.ShownThroughPlaceholder, keyboard.CaretState); keyboard.KeyPress(MathKeyboardInput.Right); Assert.Equal("\u25A1", outer.Nucleus); Assert.Equal("\u25A0", inner.Nucleus); }
static void Test(string latex, K[] inputs) { var keyboard = new MathKeyboard <TestFont, char>(context, new TestFont()); keyboard.KeyPress(inputs); Assert.Equal(latex, keyboard.LaTeX); }
static void TestEvent(EventInteractor attach, EventInteractor detach, K[] inputs) { var keyboard = new MathKeyboard <TestFont, char>(context, new TestFont()); Assert.Raises <EventArgs>( h => attach(keyboard, new EventHandler(h)), h => detach(keyboard, new EventHandler(h)), () => keyboard.KeyPress(inputs)); }
public void Test() { var keyboard = new MathKeyboard <TestFont, TGlyph>(TestTypesettingContexts.Instance, new TestFont()) { InsertionPositionHighlighted = false }; keyboard.StopBlinking(); Assert.False(keyboard.InsertionPositionHighlighted); keyboard.KeyPress(MathKeyboardInput.Power); Assert.True(keyboard.InsertionPositionHighlighted); }
public async Task Test() { var keyboard = new MathKeyboard <TestFont, char>(TestTypesettingContexts.Instance, new TestFont()) { CaretState = MathKeyboardCaretState.Shown }; Assert.Equal(MathKeyboardCaretState.Shown, keyboard.CaretState); await Task.Delay((int)MathKeyboard <TestFont, char> .DefaultBlinkMilliseconds - CaretBlinks.MillisecondBuffer); Assert.Equal(MathKeyboardCaretState.Shown, keyboard.CaretState); keyboard.KeyPress(MathKeyboardInput.A); await Task.Delay((int)MathKeyboard <TestFont, char> .DefaultBlinkMilliseconds - CaretBlinks.MillisecondBuffer); Assert.Equal(MathKeyboardCaretState.Shown, keyboard.CaretState); keyboard.KeyPress(MathKeyboardInput.Left); await Task.Delay((int)MathKeyboard <TestFont, char> .DefaultBlinkMilliseconds - CaretBlinks.MillisecondBuffer); Assert.Equal(MathKeyboardCaretState.Shown, keyboard.CaretState); await Task.Delay((int)MathKeyboard <TestFont, char> .DefaultBlinkMilliseconds); Assert.Equal(MathKeyboardCaretState.TemporarilyHidden, keyboard.CaretState); }
public void MathInputButton_Command(MathKeyboardInput mathKeyboardInput) { var mathKeyboardClassThatProcessesKeyPresses = new MathKeyboard(); var mathInputButton = new MathInputButton { Input = mathKeyboardInput, Keyboard = mathKeyboardClassThatProcessesKeyPresses }; mathInputButton.Command.Execute(null); // Simulate a MathInputButton key press Assert.Equal(expectedResult(), mathKeyboardClassThatProcessesKeyPresses.LaTeX); string expectedResult() { var kb = new MathKeyboard(); kb.KeyPress(mathKeyboardInput); return(kb.LaTeX); } }
public async Task PlaceholderDoesNotBlinkAndNoCaretVisible() { keyboard.KeyPress(MathKeyboardInput.Subscript); void Check() { Assert.True(keyboard.InsertionPositionHighlighted); Assert.False(keyboard.ShouldDrawCaret); ExpectedAppearance(DefaultPlaceholderSettings.RestingNucleus, DefaultPlaceholderSettings.ActiveNucleus); } Check(); await Task.Delay((int)MathKeyboard <TestFont, TGlyph> .DefaultBlinkMilliseconds + CaretBlinks.MillisecondBuffer); Check(); await Task.Delay((int)MathKeyboard <TestFont, TGlyph> .DefaultBlinkMilliseconds + CaretBlinks.MillisecondBuffer); Check(); }