예제 #1
0
        public void GetLanguageVersion_MapsExactVersionsCorrectly(AssemblyIdentity assemblyIdentity, RazorLanguageVersion expectedVersion)
        {
            // Act
            var languageVersion = DefaultProjectExtensibilityConfigurationFactory.GetLanguageVersion(assemblyIdentity);

            // Assert
            Assert.Same(expectedVersion, languageVersion);
        }
예제 #2
0
        public void GetLanguageVersion_MapsFuture_2_0_VersionsCorrectly()
        {
            // Arrange
            var assemblyIdentity = new AssemblyIdentity("Microsoft.AspNetCore.Razor", new Version("2.3.0.0"));

            // Act
            var languageVersion = DefaultProjectExtensibilityConfigurationFactory.GetLanguageVersion(assemblyIdentity);

            // Assert
            Assert.Same(RazorLanguageVersion.Latest, languageVersion);
        }
예제 #3
0
        public void GetConfiguration_NoMvcVersion_ChoosesDefault()
        {
            // Arrange
            var references = new AssemblyIdentity[]
            {
                new AssemblyIdentity("Microsoft.AspNetCore.Razor.Language", new Version("2.0.0.0")),
            };

            var factory = new DefaultProjectExtensibilityConfigurationFactory();

            // Act
            var result = factory.GetConfiguration(references);

            // Assert
            var configuration = Assert.IsType <MvcExtensibilityConfiguration>(result);

            Assert.Equal(ProjectExtensibilityConfigurationKind.Fallback, configuration.Kind);
            Assert.Equal("2.0.0.0", configuration.RazorAssembly.Identity.Version.ToString());
            Assert.Equal("2.0.0.0", configuration.MvcAssembly.Identity.Version.ToString());
        }
예제 #4
0
        [InlineData("1.9.9.9", "2.0.0.0")] // MVC version is ignored
        public void GetConfiguration_FindsSupportedConfiguration_ForOldRazor(string razorVersion, string mvcVersion)
        {
            // Arrange
            var references = new AssemblyIdentity[]
            {
                new AssemblyIdentity("Microsoft.AspNetCore.Razor", new Version(razorVersion)),
                new AssemblyIdentity("Microsoft.AspNetCore.Mvc.Razor", new Version(mvcVersion)),
            };

            var factory = new DefaultProjectExtensibilityConfigurationFactory();

            // Act
            var result = factory.GetConfiguration(references);

            // Assert
            var configuration = Assert.IsType <MvcExtensibilityConfiguration>(result);

            Assert.Equal(ProjectExtensibilityConfigurationKind.ApproximateMatch, configuration.Kind);
            Assert.Equal(razorVersion, configuration.RazorAssembly.Identity.Version.ToString());
            Assert.Equal(mvcVersion, configuration.MvcAssembly.Identity.Version.ToString());
        }
예제 #5
0
        public void GetConfiguration_RazorVersion_NewAssemblyWinsOverOld()
        {
            // Arrange
            var references = new AssemblyIdentity[]
            {
                new AssemblyIdentity("Microsoft.AspNetCore.Razor", new Version("1.0.0.0")),
                new AssemblyIdentity("Microsoft.AspNetCore.Razor.Language", new Version("2.0.0.0")),
                new AssemblyIdentity("Microsoft.AspNetCore.Mvc.Razor", new Version("2.0.0.0")),
            };

            var factory = new DefaultProjectExtensibilityConfigurationFactory();

            // Act
            var result = factory.GetConfiguration(references);

            // Assert
            var configuration = Assert.IsType <MvcExtensibilityConfiguration>(result);

            Assert.Equal(ProjectExtensibilityConfigurationKind.ApproximateMatch, configuration.Kind);
            Assert.Equal("2.0.0.0", configuration.RazorAssembly.Identity.Version.ToString());
            Assert.Equal("2.0.0.0", configuration.MvcAssembly.Identity.Version.ToString());
        }