public void ShouldParseExtendedMouseMove() { var test = new TestEmitter(); var data = ESC + "[<35;52;1m"; var buffer = CreateBufferFromString(data, 16); var parser = new ExtendedMouseModeEncoding(test.Emitter); var r = parser.Process(buffer); Assert.AreEqual(data.Length, r); Assert.AreEqual(1, test.MouseMoves.Count); }
public void ShouldParseExtendedMouseClick() { var test = new TestEmitter(); var md = ESC + "[<0;52;1M"; var mu = ESC + "[<3;52;1m"; var parser = new ExtendedMouseModeEncoding(test.Emitter); var rd = parser.Process(CreateBufferFromString(md, 16)); var ru = parser.Process(CreateBufferFromString(mu, 16)); Assert.AreEqual(md.Length, rd); Assert.AreEqual(mu.Length, ru); Assert.AreEqual(1, test.MouseMoves.Count); // same coords, should not move Assert.AreEqual(1, test.MouseDowns.Count); Assert.AreEqual(1, test.MouseUps.Count); Assert.AreEqual(1, test.MouseClicks.Count); }
public void ShouldParseClumpedClicks() { var test = new TestEmitter(); var md = ESC + "[<0;52;1M"; var mu = ESC + "[<3;52;1m"; var map = new InputMapper(); var c = new ExtendedMouseModeEncoding(test.Emitter); c.Register(map); // as long as the parser gets the entire sequence, additional chars shouldn't break anything var clump = "123" + md + "456" + mu + "789"; map.Process(CreateBufferFromString(clump, 32)); Assert.AreEqual(1, test.MouseMoves.Count); // same coords, should not move Assert.AreEqual(1, test.MouseDowns.Count); Assert.AreEqual(1, test.MouseUps.Count); Assert.AreEqual(1, test.MouseClicks.Count); Assert.AreEqual(9, test.Keys.Count); }