示例#1
0
        public void Suggest_WithNoParseResultSections_ReturnsName()
        {
            ArrangeInputs(parseResultSections: string.Empty,
                          out MockedShellState shellState,
                          out HttpState httpState,
                          out ICoreParseResult parseResult);

            SetHeaderCommand     setHeaderCommand = new SetHeaderCommand();
            IEnumerable <string> suggestions      = setHeaderCommand.Suggest(shellState, httpState, parseResult);

            Assert.Single(suggestions);
            Assert.Equal("set", suggestions.First());
        }
示例#2
0
        public void Suggest_WithMoreThanTwoParseResultSectionsAndSelectedSectionGreaterThanTwo_ReturnsHeaderCompletion()
        {
            ArrangeInputs(parseResultSections: "set header O",
                          out MockedShellState shellState,
                          out HttpState httpState,
                          out ICoreParseResult parseResult,
                          caretPosition: 12);

            SetHeaderCommand     setHeaderCommand = new SetHeaderCommand();
            IEnumerable <string> suggestions      = setHeaderCommand.Suggest(shellState, httpState, parseResult);

            Assert.Single(suggestions);
            Assert.Equal("Origin", suggestions.First());
        }
示例#3
0
        public void Suggest_WithOneParseResultSectionAndSelectedSectionGreaterThanZero_ReturnsName()
        {
            ArrangeInputs(parseResultSections: "set",
                          out MockedShellState shellState,
                          out HttpState httpState,
                          out ICoreParseResult parseResult,
                          caretPosition: 3);

            SetHeaderCommand     setHeaderCommand = new SetHeaderCommand();
            IEnumerable <string> suggestions      = setHeaderCommand.Suggest(shellState, httpState, parseResult);

            Assert.Single(suggestions);
            Assert.Equal("set", suggestions.First());
        }
示例#4
0
        public void Suggest_WithMoreThanThreeParseResultSectionsAndNoMatchingCompletions_ReturnsNothing()
        {
            ArrangeInputs(parseResultSections: "set header CONTENT-TYPE z",
                          out MockedShellState shellState,
                          out HttpState httpState,
                          out ICoreParseResult parseResult,
                          caretPosition: 25);

            IDirectoryStructure directoryStructure = GetDirectoryStructure("testMethod", "testContentType", "testBody");

            httpState.Structure   = directoryStructure;
            httpState.BaseAddress = new Uri("http://localhost:5050/");

            SetHeaderCommand     setHeaderCommand = new SetHeaderCommand();
            IEnumerable <string> suggestions      = setHeaderCommand.Suggest(shellState, httpState, parseResult);

            Assert.Empty(suggestions);
        }
示例#5
0
        public void Suggest_WithMoreThanThreeParseResultSectionsAndSelectedSectionAtThree_ReturnsValueCompletion()
        {
            ArrangeInputs(parseResultSections: "set header CONTENT-TYPE t",
                          out MockedShellState shellState,
                          out HttpState httpState,
                          out ICoreParseResult parseResult,
                          caretPosition: 25);

            IDirectoryStructure directoryStructure = GetDirectoryStructure("testMethod", "testContentType", "testBody");

            httpState.Structure   = directoryStructure;
            httpState.BaseAddress = new Uri("http://localhost:5050/");

            SetHeaderCommand setHeaderCommand = new SetHeaderCommand();
            List <string>    suggestions      = setHeaderCommand.Suggest(shellState, httpState, parseResult).ToList();

            Assert.Single(suggestions);
            Assert.Equal("testContentType", suggestions.First());
        }