コード例 #1
0
        private void Register(string commandPath, string suggestionCommand, IConsole console)
        {
            var existingRegistration = _suggestionRegistration.FindRegistration(
                new FileInfo(commandPath)
                );

            if (existingRegistration == null)
            {
                _suggestionRegistration.AddSuggestionRegistration(new Registration(commandPath));

                console.Out.WriteLine($"Registered {commandPath}");
            }
            else
            {
                console.Out.WriteLine($"Registered {commandPath}");
            }
        }
コード例 #2
0
        public void Suggestion_command_path_is_not_case_sensitive()
        {
            ISuggestionRegistration suggestionProvider = GetSuggestionRegistration();

            suggestionProvider.AddSuggestionRegistration(
                new Registration(Path.GetFullPath("commandPath")));

            Registration registration = suggestionProvider.FindRegistration(new FileInfo("COMMANDPATH"));

            registration.ExecutablePath.Should().Be(Path.GetFullPath("commandPath"));
        }
コード例 #3
0
        public void When_duplicate_suggestions_are_registered_the_last_one_is_used()
        {
            ISuggestionRegistration suggestionProvider = GetSuggestionRegistration();

            suggestionProvider.AddSuggestionRegistration(
                new RegistrationPair(Path.GetFullPath("commandPath"), "suggestionCommand2"));

            suggestionProvider.AddSuggestionRegistration(
                new RegistrationPair(Path.GetFullPath("commandPath"), "suggestionCommand2"));

            RegistrationPair registration = suggestionProvider.FindRegistration(new FileInfo("commandPath"));

            registration.CommandPath.Should().Be(Path.GetFullPath("commandPath"));
            registration.SuggestionCommand.Should().Be("suggestionCommand2");
        }
コード例 #4
0
        public void Missing_suggestion_can_not_be_found()
        {
            ISuggestionRegistration suggestionProvider = GetSuggestionRegistration();

            var path = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());

            try
            {
                Directory.CreateDirectory(path);
                var unregisteredFile = Path.Combine(path, "im-not-registered");
                File.WriteAllText(unregisteredFile, "");

                var foundRegistration = suggestionProvider.FindRegistration(
                    new FileInfo(unregisteredFile)
                    );

                foundRegistration.Should().BeNull();
            }
            finally
            {
                Directory.Delete(path, true);
            }
        }