public void TryGetConfiguration_FailsIfNoExtensions() { // Arrange var projectState = new Dictionary <string, IProjectRuleSnapshot>() { [Rules.RazorGeneral.SchemaName] = TestProjectRuleSnapshot.CreateProperties( Rules.RazorGeneral.SchemaName, new Dictionary <string, string>() { [Rules.RazorGeneral.RazorDefaultConfigurationProperty] = "13.37", [Rules.RazorGeneral.RazorLangVersionProperty] = "1.0", }), [Rules.RazorConfiguration.SchemaName] = TestProjectRuleSnapshot.CreateItems( Rules.RazorConfiguration.SchemaName, new Dictionary <string, Dictionary <string, string> >() { ["SomeExtension"] = new Dictionary <string, string>() { ["Extensions"] = "Razor-13.37" } }) }.ToImmutableDictionary(); // Act var result = DefaultRazorProjectHost.TryGetConfiguration(projectState, out var configuration); // Assert Assert.False(result); Assert.Null(configuration); }
public void TryGetConfiguration_FailsIfNoDefaultConfiguration() { // Arrange var projectState = new Dictionary <string, IProjectRuleSnapshot>().ToImmutableDictionary(); // Act var result = DefaultRazorProjectHost.TryGetConfiguration(projectState, out var configuration); // Assert Assert.False(result); Assert.Null(configuration); }
public void TryGetConfiguration_SucceedsWithAllPreRequisites() { // Arrange var expectedLanguageVersion = RazorLanguageVersion.Version_1_0; var expectedConfigurationName = "Razor-Test"; var expectedExtension1Name = "Extension1"; var expectedExtension2Name = "Extension2"; var projectState = new Dictionary <string, IProjectRuleSnapshot>() { [Rules.RazorGeneral.SchemaName] = TestProjectRuleSnapshot.CreateProperties( Rules.RazorGeneral.SchemaName, new Dictionary <string, string>() { [Rules.RazorGeneral.RazorDefaultConfigurationProperty] = expectedConfigurationName, [Rules.RazorGeneral.RazorLangVersionProperty] = "1.0", }), [Rules.RazorConfiguration.SchemaName] = TestProjectRuleSnapshot.CreateItems( Rules.RazorConfiguration.SchemaName, new Dictionary <string, Dictionary <string, string> >() { ["UnconfiguredRazorConfiguration"] = new Dictionary <string, string>() { ["Extensions"] = "Razor-9.0" }, [expectedConfigurationName] = new Dictionary <string, string>() { ["Extensions"] = expectedExtension1Name + ";" + expectedExtension2Name } }), [Rules.RazorExtension.PrimaryDataSourceItemType] = TestProjectRuleSnapshot.CreateItems( Rules.RazorExtension.PrimaryDataSourceItemType, new Dictionary <string, Dictionary <string, string> >() { [expectedExtension1Name] = new Dictionary <string, string>(), [expectedExtension2Name] = new Dictionary <string, string>(), }) }.ToImmutableDictionary(); // Act var result = DefaultRazorProjectHost.TryGetConfiguration(projectState, out var configuration); // Assert Assert.True(result); Assert.Equal(expectedLanguageVersion, configuration.LanguageVersion); Assert.Equal(expectedConfigurationName, configuration.ConfigurationName); Assert.Collection( configuration.Extensions, extension => Assert.Equal(expectedExtension2Name, extension.ExtensionName), extension => Assert.Equal(expectedExtension1Name, extension.ExtensionName)); }
public void TryGetConfiguration_FailsIfNoLanguageVersion() { // Arrange var projectState = new Dictionary <string, IProjectRuleSnapshot>() { [Rules.RazorGeneral.SchemaName] = TestProjectRuleSnapshot.CreateProperties( Rules.RazorGeneral.SchemaName, new Dictionary <string, string>() { [Rules.RazorGeneral.RazorDefaultConfigurationProperty] = "13.37" }) }.ToImmutableDictionary(); // Act var result = DefaultRazorProjectHost.TryGetConfiguration(projectState, out var configuration); // Assert Assert.False(result); Assert.Null(configuration); }