public void keeps_order_of_streams() { // arrange var keySequence = KeyStreams.CtrlU() .Concat(KeyStreams.LetterL()) .Concat(KeyStreams.Number1()) .Concat(KeyStreams.LetterL()) .ToObservable(); var sut = CreateMessageProvider(keySequence); shortcutProvider .GetShortcutsStartingWith(Arg.Any <KeyPress>()) .Returns(new List <KeyShortcut> { new KeyShortcut("SomeShortcut", new KeyPressDefinition(Keys.U, controlPressed: true), new KeyPressDefinition(Keys.L)) }); // act var messages = sut.GetMessageStream().ToList().Single(); // assert Assert.Equal(3, messages.Count); Assert.Equal("Ctrl + U, l [SomeShortcut]", string.Join("", messages[0].Text)); Assert.Equal("SomeShortcut", messages[0].ShortcutName); Assert.Equal("1", string.Join("", messages[1].Text)); Assert.Equal("1l", string.Join("", messages[2].Text)); }
public void key_without_shift_is_lowercase() { // arrange var player = KeyStreams.LetterL(); var provider = new KeyProvider(player, passwordModeService, desktopLockEventService); // act var processedKeys = ToEnumerable(provider, player); // assert Assert.Equal(new[] { "l" }, processedKeys.Single().Input); }
public void key_with_modifiers_raises_a_new_message() { // arrange messageProvider.Subscribe(this); KeyStreams.LetterL().Play(interceptKeysSource); // act KeyStreams.CtrlShiftL().Play(interceptKeysSource); // assert Assert.Equal(2, messages.Count); }
public async Task key_without_shift_is_lowercase() { // arrange var player = KeyStreams.LetterL(); var provider = new KeyProvider(player, passwordModeService, desktopLockEventService, settingsProvider); // act var processedKeys = await provider.GetKeyStream().ToList(); // assert Assert.Equal(new[] { "l" }, processedKeys.Single().Input); }
public void key_with_modifiers_raises_a_new_message() { // arrange var keySequence = KeyStreams.LetterL() .Concat(KeyStreams.CtrlShiftL()) .ToObservable(); var sut = CreateMessageProvider(keySequence); // act var messages = sut.GetMessageStream().ToList().Single(); // assert Assert.Equal(2, messages.Count); }
public async Task no_output_with_no_match_filter() { // arrange settingsProvider.GetSettings <PopupSettings>().Returns(new PopupSettings() { ProcessFilterExpression = "notepad" }); var player = KeyStreams.LetterL(); var provider = new KeyProvider(player, passwordModeService, desktopLockEventService, settingsProvider); // act var processedKeys = await provider.GetKeyStream().ToList(); // assert Assert.Equal(0, processedKeys.Count); }
public void does_show_shortcut_name_on_full_match() { // arrange messageProvider.Subscribe(this); shortcutProvider.GetShortcutsMatching(Arg.Any <IEnumerable <KeyPress> >()) .Returns(new[] { new KeyShortcut("SomeShortcut", new KeyPressDefinition(Keys.U, controlPressed: true), new KeyPressDefinition(Keys.L)) }); // act KeyStreams.CtrlU().Play(interceptKeysSource); KeyStreams.LetterL().Play(interceptKeysSource); // assert Assert.Equal(1, messages.Count); Assert.Equal("SomeShortcut", messages[0].ShortcutName); }
public async Task output_with_matching_filter() { // arrange string currentProcessName = AssociatedProcessUtilities.GetAssociatedProcess().ProcessName; settingsProvider.GetSettings <PopupSettings>().Returns(new PopupSettings() { ProcessFilterExpression = currentProcessName }); var player = KeyStreams.LetterL(); var provider = new KeyProvider(player, passwordModeService, desktopLockEventService, settingsProvider); // act var processedKeys = await provider.GetKeyStream().ToList(); // assert Assert.Equal(new[] { "l" }, processedKeys.Single().Input); }
public void does_show_shortcut_name_on_full_match() { // arrange messageProvider.GetMessageStream(keysStream).Subscribe(value => messages.Add(value)); shortcutProvider.GetShortcutsStartingWith(Arg.Any <KeyPress>()) .Returns(new List <KeyShortcut> { new KeyShortcut("SomeShortcut", new KeyPressDefinition(Keys.U, controlPressed: true), new KeyPressDefinition(Keys.L)) }); // act KeyStreams.CtrlU().Play(interceptKeysSource); KeyStreams.LetterL().Play(interceptKeysSource); // assert Assert.Equal(1, messages.Count); Assert.Equal("SomeShortcut", messages[0].ShortcutName); }
public void does_show_shortcut_name_on_full_match() { // arrange var keySequence = KeyStreams.CtrlU() .Concat(KeyStreams.LetterL()) .ToObservable(); var sut = CreateMessageProvider(keySequence); shortcutProvider.GetShortcutsStartingWith(Arg.Any <KeyPress>()) .Returns(new List <KeyShortcut> { new KeyShortcut("SomeShortcut", new KeyPressDefinition(Keys.U, controlPressed: true), new KeyPressDefinition(Keys.L)) }); // act var messages = sut.GetMessageStream().ToList().Single(); // assert Assert.Equal(1, messages.Count); Assert.Equal("SomeShortcut", messages[0].ShortcutName); }
public void keeps_order_of_streams() { // arrange messageProvider.GetMessageStream(keysStream).Subscribe(value => messages.Add(value)); shortcutProvider .GetShortcutsStartingWith(Arg.Any <KeyPress>()) .Returns(new List <KeyShortcut> { new KeyShortcut("SomeShortcut", new KeyPressDefinition(Keys.U, controlPressed: true), new KeyPressDefinition(Keys.L)) }); // act KeyStreams.CtrlU().Play(interceptKeysSource); KeyStreams.LetterL().Play(interceptKeysSource); KeyStreams.Number1().Play(interceptKeysSource); KeyStreams.LetterL().Play(interceptKeysSource); // assert Assert.Equal(2, messages.Count); Assert.Equal("Ctrl + U, l [SomeShortcut]", string.Join("", messages[0].Text)); Assert.Equal("SomeShortcut", messages[0].ShortcutName); Assert.Equal("1l", string.Join("", messages[1].Text)); }