示例#1
0
        public void Key_FunctionKeys()
        {
            ISendKeysParser parser = new SendKeysParser("{F1}{F2}{F3}{F4}{F5}{F6}{F7}{F8}{F9}{F10}{F11}{F12}{F13}{F14}{F15}{F16}");

            Assert.AreEqual(16, parser.Groups.Length);

            int groupIndex = 0;

            Assert.AreEqual(VirtualKeyCodes.F1, parser.Groups[groupIndex++].EscapedKey);
            Assert.AreEqual(VirtualKeyCodes.F2, parser.Groups[groupIndex++].EscapedKey);
            Assert.AreEqual(VirtualKeyCodes.F3, parser.Groups[groupIndex++].EscapedKey);
            Assert.AreEqual(VirtualKeyCodes.F4, parser.Groups[groupIndex++].EscapedKey);
            Assert.AreEqual(VirtualKeyCodes.F5, parser.Groups[groupIndex++].EscapedKey);
            Assert.AreEqual(VirtualKeyCodes.F6, parser.Groups[groupIndex++].EscapedKey);
            Assert.AreEqual(VirtualKeyCodes.F7, parser.Groups[groupIndex++].EscapedKey);
            Assert.AreEqual(VirtualKeyCodes.F8, parser.Groups[groupIndex++].EscapedKey);
            Assert.AreEqual(VirtualKeyCodes.F9, parser.Groups[groupIndex++].EscapedKey);
            Assert.AreEqual(VirtualKeyCodes.F10, parser.Groups[groupIndex++].EscapedKey);
            Assert.AreEqual(VirtualKeyCodes.F11, parser.Groups[groupIndex++].EscapedKey);
            Assert.AreEqual(VirtualKeyCodes.F12, parser.Groups[groupIndex++].EscapedKey);
            Assert.AreEqual(VirtualKeyCodes.F13, parser.Groups[groupIndex++].EscapedKey);
            Assert.AreEqual(VirtualKeyCodes.F14, parser.Groups[groupIndex++].EscapedKey);
            Assert.AreEqual(VirtualKeyCodes.F15, parser.Groups[groupIndex++].EscapedKey);
            Assert.AreEqual(VirtualKeyCodes.F16, parser.Groups[groupIndex].EscapedKey);

            foreach (SendKeysParserGroup group in parser.Groups)
            {
                Assert.AreEqual(string.Empty, group.ModifierCharacters);
                Assert.AreEqual(string.Empty, group.Body);
            }
        }
示例#2
0
        public static void Send(UIElement element, string text)
        {
            var sequence = SendKeysParser.Parse(text);

            foreach (var keyPressInfo in sequence)
            {
                Send(element, keyPressInfo.Key, keyPressInfo.Modifiers);
            }
        }
示例#3
0
        private static void AssertKeywordIsParsedAs(string keyword, VirtualKeyCodes expectedKey)
        {
            ISendKeysParser parser = new SendKeysParser(keyword);

            Assert.AreEqual(1, parser.Groups.Length);

            Assert.AreEqual("", parser.Groups[0].ModifierCharacters);
            Assert.AreEqual(expectedKey, parser.Groups[0].EscapedKey);
            Assert.AreEqual("", parser.Groups[0].Body);
        }
示例#4
0
        public void AltModifier()
        {
            ISendKeysParser parser = new SendKeysParser("a%bc");

            Assert.AreEqual(3, parser.Groups.Length);

            int groupIndex = 0;

            AssertGroup(parser.Groups[groupIndex++], "", "a");
            AssertGroup(parser.Groups[groupIndex++], "%", "b");
            AssertGroup(parser.Groups[groupIndex], "", "c");
        }
示例#5
0
        public void ControlModifier()
        {
            ISendKeysParser parser = new SendKeysParser("a^bc");

            Assert.Equal(3, parser.Groups.Length);

            int groupIndex = 0;

            AssertGroup(parser.Groups[groupIndex++], "", "a");
            AssertGroup(parser.Groups[groupIndex++], "^", "b");
            AssertGroup(parser.Groups[groupIndex], "", "c");
        }
示例#6
0
        public void GroupExtraction()
        {
            ISendKeysParser parser = new SendKeysParser("111+(aaa)22+^(bbb)33{{}4%(a)");

            Assert.AreEqual(8, parser.Groups.Length);

            int groupIndex = 0;

            AssertGroup(parser.Groups[groupIndex++], "", "111");
            AssertGroup(parser.Groups[groupIndex++], "+", "aaa");
            AssertGroup(parser.Groups[groupIndex++], "", "22");
            AssertGroup(parser.Groups[groupIndex++], "+^", "bbb");
            AssertGroup(parser.Groups[groupIndex++], "", "33");
            AssertGroup(parser.Groups[groupIndex++], "", "{");
            AssertGroup(parser.Groups[groupIndex++], "", "4");
            AssertGroup(parser.Groups[groupIndex], "%", "a");
        }