コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }