Esempio n. 1
0
        public FeatureFileInfo(ProjectItem projectItem, ProjectItem codeBehindItem)
        {
            ProjectRelativePath = VsxHelper.GetProjectRelativePath(projectItem);
            var codeBehindItemChangeDate  = VsxHelper.GetLastChangeDate(codeBehindItem) ?? DateTime.MinValue;
            var featureFileLastChangeDate = VsxHelper.GetLastChangeDate(projectItem) ?? DateTime.MinValue;

            LastChangeDate = featureFileLastChangeDate > codeBehindItemChangeDate ? featureFileLastChangeDate : codeBehindItemChangeDate;
        }
Esempio n. 2
0
        protected override void Analyze(FeatureFileInfo featureFileInfo, ProjectItem projectItem)
        {
            vsProjectScope.Tracer.Trace("Analyzing feature file: " + featureFileInfo.ProjectRelativePath, "ProjectFeatureFilesTracker");
            var codeBehindChangeDate = AnalyzeCodeBehind(featureFileInfo, projectItem);

            var fileContent = VsxHelper.GetFileContent(projectItem, loadLastSaved: true);

            featureFileInfo.ParsedFeature = ParseGherkinFile(fileContent, featureFileInfo.ProjectRelativePath, vsProjectScope.GherkinDialectServices.DefaultLanguage);
            var featureLastChangeDate = VsxHelper.GetLastChangeDate(projectItem) ?? DateTime.MinValue;

            featureFileInfo.LastChangeDate = featureLastChangeDate > codeBehindChangeDate ? featureLastChangeDate : codeBehindChangeDate;
        }
Esempio n. 3
0
        private DateTime AnalyzeCodeBehind(FeatureFileInfo featureFileInfo, ProjectItem projectItem)
        {
            var codeBehindItem = GetCodeBehindItem(projectItem);

            if (codeBehindItem != null)
            {
                string codeBehindContent = VsxHelper.GetFileContent(codeBehindItem);
                DetectGeneratedTestVersion(featureFileInfo, codeBehindContent);
                var lastChangeDate = VsxHelper.GetLastChangeDate(codeBehindItem) ?? DateTime.MinValue;
                return(lastChangeDate);
            }

            return(DateTime.MinValue);
        }
        protected override void Analyze(BindingFileInfo fileInfo, ProjectItem projectItem)
        {
            vsProjectScope.Tracer.Trace("Analyzing binding file: {0}", this, fileInfo.ProjectRelativePath);

            if (fileInfo.IsAssembly)
            {
                AnalyzeAssembly(fileInfo);
            }
            else
            {
                fileInfo.StepBindings   = stepSuggestionBindingCollector.GetBindingsFromProjectItem(projectItem).ToArray();
                fileInfo.LastChangeDate = VsxHelper.GetLastChangeDate(projectItem) ?? DateTime.MinValue;
            }
        }
Esempio n. 5
0
        protected override void Analyze(BindingFileInfo fileInfo, ProjectItem projectItem, out List <BindingFileInfo> relatedFiles)
        {
            relatedFiles = null;
            vsProjectScope.Tracer.Trace("Analyzing binding file: {0}", this, fileInfo.ProjectRelativePath);

            if (fileInfo.IsAssembly)
            {
                AnalyzeAssembly(fileInfo);
            }
            else
            {
                List <ProjectItem> relatedProjectItems;
                fileInfo.StepBindings   = stepSuggestionBindingCollector.GetBindingsFromProjectItem(projectItem, out relatedProjectItems).ToArray();
                relatedFiles            = relatedProjectItems.Select(pi => FindFileInfo(VsxHelper.GetProjectRelativePath(pi))).Where(fi => fi != null).Distinct().ToList();
                fileInfo.LastChangeDate = VsxHelper.GetLastChangeDate(projectItem) ?? DateTime.MinValue;
            }
        }
Esempio n. 6
0
        private void AnalyzeAssembly(BindingFileInfo fileInfo)
        {
            var reference = VsxHelper.GetReferenceByProjectRelativePath(vsProjectScope.Project, fileInfo.ProjectRelativePath);

            if (reference == null)
            {
                throw new InvalidOperationException("Could not find project reference for path: " + fileInfo.ProjectRelativePath);
            }

            vsProjectScope.Tracer.Trace("Calculate step definitions from assembly: {0}", this, reference.Name);

            ILBindingRegistryBuilder builder = new ILBindingRegistryBuilder(vsProjectScope.Tracer);

            fileInfo.StepBindings = builder.GetStepDefinitionsFromAssembly(reference.Path).ToArray();

            vsProjectScope.Tracer.Trace("Detected {0} step definitions from reference {1}", this, fileInfo.StepBindings.Count(), reference.Name);

            fileInfo.LastChangeDate = VsxHelper.GetLastChangeDate(reference) ?? DateTime.MinValue;
        }
 public BindingFileInfo(Reference reference)
 {
     ProjectRelativePath = VsxHelper.GetProjectRelativePath(reference);
     LastChangeDate      = VsxHelper.GetLastChangeDate(reference) ?? DateTime.MinValue;
 }
 public BindingFileInfo(ProjectItem projectItem)
 {
     ProjectRelativePath = VsxHelper.GetProjectRelativePath(projectItem);
     LastChangeDate      = VsxHelper.GetLastChangeDate(projectItem) ?? DateTime.MinValue;
 }