public void AddNoIndentAnnotation_ModuleContainsCode() { var input = @"Option Explicit Public Foo As Boolean Sub Foo() End Sub"; var expected = @"'@NoIndent Option Explicit Public Foo As Boolean Sub Foo() End Sub"; IVBComponent component; var vbe = MockVbeBuilder.BuildFromSingleStandardModule(input, out component, Selection.Home); var(state, rewritingManager) = MockParser.CreateAndParseWithRewritingManager(vbe.Object); using (state) { var noIndentAnnotationCommand = MockIndenter.ArrangeNoIndentAnnotationCommand(vbe, state, rewritingManager); noIndentAnnotationCommand.Execute(null); Assert.AreEqual(expected, component.CodeModule.Content()); } }
public void AddNoIndentAnnotation_CanExecute_ModuleAlreadyHasAnnotation() { IVBComponent component; var vbe = MockVbeBuilder.BuildFromSingleStandardModule("'@NoIndent\r\n", out component); vbe.Setup(v => v.ActiveCodePane).Returns((ICodePane)null); var(state, rewritingManager) = MockParser.CreateAndParseWithRewritingManager(vbe.Object); using (state) { var noIndentAnnotationCommand = MockIndenter.ArrangeNoIndentAnnotationCommand(vbe, state, rewritingManager); Assert.IsFalse(noIndentAnnotationCommand.CanExecute(null)); } }
public void AddNoIndentAnnotation() { IVBComponent component; var vbe = MockVbeBuilder.BuildFromSingleStandardModule("", out component, Selection.Home); var(state, rewritingManager) = MockParser.CreateAndParseWithRewritingManager(vbe.Object); using (state) { var noIndentAnnotationCommand = MockIndenter.ArrangeNoIndentAnnotationCommand(vbe, state, rewritingManager); noIndentAnnotationCommand.Execute(null); Assert.AreEqual("'@NoIndent\r\n", component.CodeModule.Content()); } }