protected override void OnExecute(object parameter) { using (var pane = _vbe.ActiveCodePane) { if (pane.IsWrappingNullReference) { return; } using (var module = pane.CodeModule) { var declaration = _state.GetTestModules() .FirstOrDefault(f => _state.ProjectsProvider.Component(f.QualifiedModuleName).HasEqualCodeModule(module)); if (declaration == null) { return; } string name; using (var component = module.Parent) { name = GetNextTestMethodName(component); } var body = TestMethodTemplate.Replace(NamePlaceholder, name); module.InsertLines(module.CountOfLines, body); } } _state.OnParseRequested(this); }
protected override void ExecuteImpl(object parameter) { var pane = _vbe.ActiveCodePane; if (pane.IsWrappingNullReference) { return; } var activeModule = pane.CodeModule; var declaration = _state.GetTestModules().FirstOrDefault(f => { var thisModule = f.QualifiedName.QualifiedModuleName.Component.CodeModule; return(thisModule.Equals(activeModule)); }); if (declaration != null) { var module = pane.CodeModule; var name = GetNextTestMethodName(module.Parent); var body = TestMethodExpectedErrorTemplate.Replace(NamePlaceholder, name); module.InsertLines(module.CountOfLines, body); } _state.OnParseRequested(this, _vbe.SelectedVBComponent); }
protected override void ExecuteImpl(object parameter) { if (_vbe.ActiveCodePane == null) { return; } try { var declaration = _state.GetTestModules().FirstOrDefault(f => f.QualifiedName.QualifiedModuleName.Component.CodeModule == _vbe.ActiveCodePane.CodeModule); if (declaration != null) { var module = _vbe.ActiveCodePane.CodeModule; var name = GetNextTestMethodName(module.Parent); var body = TestMethodExpectedErrorTemplate.Replace(NamePlaceholder, name); module.InsertLines(module.CountOfLines, body); } } catch (COMException) { } _state.OnParseRequested(this, _vbe.SelectedVBComponent); }
protected override void OnExecute(object parameter) { using (var pane = _vbe.ActiveCodePane) { if (pane?.IsWrappingNullReference ?? true) { return; } using (var module = pane.CodeModule) { var declaration = _state.GetTestModules() .FirstOrDefault(f => _state.ProjectsProvider.Component(f.QualifiedModuleName).HasEqualCodeModule(module)); if (declaration == null) { return; } using (var component = module.Parent) { module.InsertLines(module.CountOfLines, _codeGenerator.GetNewTestMethodCode(component)); } } } _state.OnParseRequested(this); }
private static (Declaration targetModule, string testMethodContent) GetTargetModuleAndTestMethodCode(IVBE vbe, RubberduckParserState state, Func<IVBComponent, string> methodGenerator) { (Declaration, string) defaultResult = (null, string.Empty); using (var pane = vbe.ActiveCodePane) { if (pane?.IsWrappingNullReference ?? true) { return defaultResult; } using (var module = pane.CodeModule) { var declaration = state.GetTestModules() .FirstOrDefault(f => state.ProjectsProvider.Component(f.QualifiedModuleName).HasEqualCodeModule(module)); if (declaration == null) { return defaultResult; } var testMethodCode = string.Empty; using (var component = module.Parent) { testMethodCode = methodGenerator(component); return (declaration, testMethodCode); } } } }