Exemplo n.º 1
0
        private void ReorderParameters(QualifiedSelection selection)
        {
            var progress = new ParsingProgressPresenter();
            var result   = progress.Parse(_parser, IDE.ActiveVBProject);

            using (var view = new ReorderParametersDialog())
            {
                var factory     = new ReorderParametersPresenterFactory(_editor, view, result);
                var refactoring = new ReorderParametersRefactoring(factory);
                refactoring.Refactor(selection);
            }
        }
Exemplo n.º 2
0
        protected override void OnExecute(object parameter)
        {
            var selection = Vbe.GetActiveSelection();

            if (selection == null)
            {
                return;
            }

            using (var view = new ReorderParametersDialog(new ReorderParametersViewModel(_state)))
            {
                var factory     = new ReorderParametersPresenterFactory(Vbe, view, _state, _msgbox);
                var refactoring = new ReorderParametersRefactoring(Vbe, factory, _msgbox, _state.ProjectsProvider);
                refactoring.Refactor(selection.Value);
            }
        }
        public override void Execute(object parameter)
        {
            if (Vbe.ActiveCodePane == null)
            {
                return;
            }
            var codePane  = _wrapperWrapperFactory.Create(Vbe.ActiveCodePane);
            var selection = new QualifiedSelection(new QualifiedModuleName(codePane.CodeModule.Parent), codePane.Selection);

            using (var view = new ReorderParametersDialog())
            {
                var factory     = new ReorderParametersPresenterFactory(Editor, view, _state, new MessageBox());
                var refactoring = new ReorderParametersRefactoring(factory, Editor, new MessageBox());
                refactoring.Refactor(selection);
            }
        }
        public override void Execute(object parameter)
        {
            if (Vbe.ActiveCodePane == null)
            {
                return;
            }
            var codePane = _wrapperWrapperFactory.Create(Vbe.ActiveCodePane);
            var selection = new QualifiedSelection(new QualifiedModuleName(codePane.CodeModule.Parent), codePane.Selection);

            using (var view = new ReorderParametersDialog())
            {
                var factory = new ReorderParametersPresenterFactory(Editor, view, _state, new MessageBox());
                var refactoring = new ReorderParametersRefactoring(factory, Editor, new MessageBox());
                refactoring.Refactor(selection);
            }
        }
Exemplo n.º 5
0
        protected override void OnExecute(object parameter)
        {
            var pane   = Vbe.ActiveCodePane;
            var module = pane.CodeModule;
            {
                if (pane.IsWrappingNullReference)
                {
                    return;
                }
                var selection = new QualifiedSelection(new QualifiedModuleName(module.Parent), pane.Selection);

                using (var view = new ReorderParametersDialog(new ReorderParametersViewModel(_state)))
                {
                    var factory     = new ReorderParametersPresenterFactory(Vbe, view, _state, _msgbox);
                    var refactoring = new ReorderParametersRefactoring(Vbe, factory, _msgbox);
                    refactoring.Refactor(selection);
                }
            }
        }
Exemplo n.º 6
0
        private void ReorderParameters(QualifiedSelection selection)
        {
            var progress = new ParsingProgressPresenter();
            var result = progress.Parse(_parser, IDE.ActiveVBProject);

            using (var view = new ReorderParametersDialog())
            {
                var factory = new ReorderParametersPresenterFactory(_editor, view, result);
                var refactoring = new ReorderParametersRefactoring(factory);
                refactoring.Refactor(selection);
            }
        }
        public void Factory_NullSelectionCreatesNullPresenter()
        {
            //Input
            const string inputCode =
@"Private Sub Foo()
End Sub";

            //Arrange
            var builder = new MockVbeBuilder();
            VBComponent component;
            var vbe = builder.BuildFromSingleStandardModule(inputCode, out component);
            var mockHost = new Mock<IHostApplication>();
            mockHost.SetupAllProperties();
            var parser = MockParser.Create(vbe.Object, new RubberduckParserState());

            parser.Parse();
            if (parser.State.Status == ParserState.Error) { Assert.Inconclusive("Parser Error"); }

            var editor = new Mock<IActiveCodePaneEditor>();
            editor.Setup(e => e.GetSelection()).Returns((QualifiedSelection?)null);

            var factory = new ReorderParametersPresenterFactory(editor.Object, null, parser.State, null);

            //Act
            var result = factory.Create();

            //Assert
            Assert.IsNull(result);
        }
        public void Presenter_SingleParameterMemberCreatesNullModel()
        {
            //Input
            const string inputCode =
@"Private Sub Foo(ByVal arg1 As Integer)
End Sub";
            var selection = new Selection(1, 15, 1, 15);

            //Arrange
            var builder = new MockVbeBuilder();
            VBComponent component;
            var vbe = builder.BuildFromSingleStandardModule(inputCode, out component);
            var mockHost = new Mock<IHostApplication>();
            mockHost.SetupAllProperties();
            var parser = MockParser.Create(vbe.Object, new RubberduckParserState());

            parser.Parse();
            if (parser.State.Status == ParserState.Error) { Assert.Inconclusive("Parser Error"); }

            var qualifiedSelection = new QualifiedSelection(new QualifiedModuleName(component), selection);

            var editor = new Mock<IActiveCodePaneEditor>();
            editor.Setup(e => e.GetSelection()).Returns(qualifiedSelection);

            var messageBox = new Mock<IMessageBox>();
            messageBox.Setup(m => m.Show(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<MessageBoxButtons>(), It.IsAny<MessageBoxIcon>()))
                      .Returns(DialogResult.OK);

            var factory = new ReorderParametersPresenterFactory(editor.Object, null, parser.State, messageBox.Object);
            var presenter = factory.Create();

            //Act
            var result = presenter.Show();

            //Assert
            Assert.IsNull(result);
        }
        public void Presenter_CancelDialogCreatesNullModel()
        {
            //Input
            const string inputCode =
@"Private Sub Foo(ByVal arg1 As Integer, ByVal arg2 As String)
End Sub";
            var selection = new Selection(1, 15, 1, 15);

            //Arrange
            var builder = new MockVbeBuilder();
            VBComponent component;
            var vbe = builder.BuildFromSingleStandardModule(inputCode, out component);
            var mockHost = new Mock<IHostApplication>();
            mockHost.SetupAllProperties();
            var parser = MockParser.Create(vbe.Object, new RubberduckParserState());

            parser.Parse();
            if (parser.State.Status == ParserState.Error) { Assert.Inconclusive("Parser Error"); }

            var qualifiedSelection = new QualifiedSelection(new QualifiedModuleName(component), selection);

            var editor = new Mock<IActiveCodePaneEditor>();
            editor.Setup(e => e.GetSelection()).Returns(qualifiedSelection);

            var model = new ReorderParametersModel(parser.State, qualifiedSelection, new MessageBox());

            var view = new Mock<IReorderParametersView>();
            view.Setup(v => v.ShowDialog()).Returns(DialogResult.Cancel);
            view.Setup(v => v.Parameters).Returns(model.Parameters);

            var factory = new ReorderParametersPresenterFactory(editor.Object, view.Object, parser.State, null);
            var presenter = factory.Create();

            //Act
            var result = presenter.Show();

            //Assert
            Assert.IsNull(result);
        }
        public void ReorderParams_PresenterIsNull()
        {
            //Input
            const string inputCode =
@"Private Sub Foo()
End Sub";

            //Arrange
            var builder = new MockVbeBuilder();
            VBComponent component;
            var vbe = builder.BuildFromSingleStandardModule(inputCode, out component);
            var project = vbe.Object.VBProjects.Item(0);
            var module = project.VBComponents.Item(0).CodeModule;
            var codePaneFactory = new CodePaneWrapperFactory();
            var mockHost = new Mock<IHostApplication>();
            mockHost.SetupAllProperties();
            var parser = MockParser.Create(vbe.Object, new RubberduckParserState());

            parser.Parse();
            if (parser.State.Status == ParserState.Error) { Assert.Inconclusive("Parser Error"); }

            var editor = new Mock<IActiveCodePaneEditor>();
            editor.Setup(e => e.GetSelection()).Returns((QualifiedSelection?)null);

            var factory = new ReorderParametersPresenterFactory(editor.Object, null,
                parser.State, null);

            //act
            var refactoring = new ReorderParametersRefactoring(factory, new ActiveCodePaneEditor(vbe.Object, codePaneFactory), null);
            refactoring.Refactor();

            Assert.AreEqual(inputCode, module.Lines());
        }