public void NextVersionCanHavePatch() { const string text = "next-version: 2.12.654651698"; SetupConfigFileContent(text); var config = HgConfigurationProvider.Provide(repoPath, fileSystem); config.NextVersion.ShouldBe("2.12.654651698"); }
public void NextVersionCanHaveEnormousMinorVersion() { const string text = "next-version: 2.118998723"; SetupConfigFileContent(text); var config = HgConfigurationProvider.Provide(repoPath, fileSystem); config.NextVersion.ShouldBe("2.118998723"); }
public void NextVersionCanBeInteger() { const string text = "next-version: 2"; SetupConfigFileContent(text); var config = HgConfigurationProvider.Provide(repoPath, fileSystem); config.NextVersion.ShouldBe("2.0"); }
/// <summary> /// Creates an instance of <see cref="HgVersionContext"/> /// </summary> /// <param name="repository">Mercurial retpository</param> public HgVersionContext(IHgRepository repository) { Repository = repository; CurrentBranch = repository.CurrentBranch(); CurrentCommit = repository.CurrentCommit(); FileSystem = new FileSystem(); FullConfiguration = HgConfigurationProvider.Provide(repository, FileSystem); RepositoryMetadataProvider = new HgRepositoryMetadataProvider(repository, FullConfiguration); Configuration = CalculateEffectiveConfiguration(); CurrentCommitTaggedVersion = CalculateCurrentCommitTaggedVersion(); IsCurrentCommitTagged = CurrentCommitTaggedVersion != null; }
public void RegexIsRequired() { const string text = @" next-version: 2.0.0 branches: bug: tag: bugfix"; SetupConfigFileContent(text); var ex = Should.Throw <ConfigurationException>(() => HgConfigurationProvider.Provide(repoPath, fileSystem)); ex.Message.ShouldBe("Branch configuration 'bug' is missing required configuration 'regex'"); }
public void CanRemoveTag() { const string text = @" next-version: 2.0.0 branches: release: tag: """""; SetupConfigFileContent(text); var config = HgConfigurationProvider.Provide(repoPath, fileSystem); config.NextVersion.ShouldBe("2.0.0"); config.Branches["release"].Tag.ShouldBe(string.Empty); }
public void NoWarnOnHgVersionYmlFile() { SetupConfigFileContent(string.Empty); var s = string.Empty; Action <string> action = info => { s = info; }; using (Logger.AddLoggersTemporarily(action, action, action, action)) { HgConfigurationProvider.Provide(repoPath, fileSystem); } s.Length.ShouldBe(0); }
public void CanReadDefaultDocument() { const string text = ""; SetupConfigFileContent(text); var config = HgConfigurationProvider.Provide(repoPath, fileSystem); config.AssemblyVersioningScheme.ShouldBe(AssemblyVersioningScheme.MajorMinorPatch); config.AssemblyFileVersioningScheme.ShouldBe(AssemblyFileVersioningScheme.MajorMinorPatch); config.AssemblyInformationalFormat.ShouldBe(null); config.Branches["develop"].Tag.ShouldBe("alpha"); config.Branches["release"].Tag.ShouldBe("beta"); config.TagPrefix.ShouldBe(HgConfigurationProvider.DefaultTagPrefix); config.NextVersion.ShouldBe(null); }
public void CanUpdateAssemblyInformationalVersioningSchemeWithMultipleVariables() { const string text = @" assembly-versioning-scheme: MajorMinor assembly-file-versioning-scheme: MajorMinorPatch assembly-informational-format: '{Major}.{Minor}.{Patch}'"; SetupConfigFileContent(text); var config = HgConfigurationProvider.Provide(repoPath, fileSystem); config.AssemblyVersioningScheme.ShouldBe(AssemblyVersioningScheme.MajorMinor); config.AssemblyFileVersioningScheme.ShouldBe(AssemblyFileVersioningScheme.MajorMinorPatch); config.AssemblyInformationalFormat.ShouldBe("{Major}.{Minor}.{Patch}"); }
public void CanProvideConfigForNewBranch() { const string text = @" next-version: 2.0.0 branches: bug: regex: 'bug[/-]' tag: bugfix source-branches: []"; SetupConfigFileContent(text); var config = HgConfigurationProvider.Provide(repoPath, fileSystem); config.Branches["bug"].Regex.ShouldBe("bug[/-]"); config.Branches["bug"].Tag.ShouldBe("bugfix"); }
public void OverwritesDefaultsWithProvidedConfig() { var defaultConfig = HgConfigurationProvider.Provide(repoPath, fileSystem); const string text = @" next-version: 2.0.0 branches: develop: mode: ContinuousDeployment tag: dev"; SetupConfigFileContent(text); var config = HgConfigurationProvider.Provide(repoPath, fileSystem); config.NextVersion.ShouldBe("2.0.0"); config.Branches["develop"].Increment.ShouldBe(defaultConfig.Branches["develop"].Increment); config.Branches["develop"].VersioningMode.ShouldBe(defaultConfig.Branches["develop"].VersioningMode); config.Branches["develop"].Tag.ShouldBe("dev"); }
public void CanUpdateAssemblyInformationalVersioningSchemeWithFullSemVer() { const string text = @" assembly-versioning-scheme: MajorMinorPatch assembly-file-versioning-scheme: MajorMinorPatch assembly-informational-format: '{FullSemVer}' mode: ContinuousDelivery next-version: 5.3.0 branches: {}"; SetupConfigFileContent(text); var config = HgConfigurationProvider.Provide(repoPath, fileSystem); config.AssemblyVersioningScheme.ShouldBe(AssemblyVersioningScheme.MajorMinorPatch); config.AssemblyFileVersioningScheme.ShouldBe(AssemblyFileVersioningScheme.MajorMinorPatch); config.AssemblyInformationalFormat.ShouldBe("{FullSemVer}"); }
public static Config ApplyDefaults(this Config config) { HgConfigurationProvider.ApplyDefaultsTo(config); return(config); }
public void CanWriteOutEffectiveConfiguration() { var config = HgConfigurationProvider.GetEffectiveConfigAsString(repoPath, fileSystem); config.ShouldMatchApproved(); }