public void Activate_InitializesTagHelpersWithMultipleInitializers() { // Arrange var services = new ServiceCollection(); var builder = new MvcCoreBuilder(services); builder.InitializeTagHelper <TestTagHelper>((h, vc) => { h.Name = "Test 1"; h.Number = 100; }); builder.InitializeTagHelper <TestTagHelper>((h, vc) => { h.Name += ", Test 2"; h.Number += 100; }); var httpContext = MakeHttpContext(services.BuildServiceProvider()); var viewContext = MakeViewContext(httpContext); var activator = new DefaultTagHelperActivator(); var helper = new TestTagHelper(); // Act activator.Activate(helper, viewContext); // Assert Assert.Equal("Test 1, Test 2", helper.Name); Assert.Equal(200, helper.Number); }
public void Activate_InitializesTagHelpers(string name, int number) { // Arrange var services = new ServiceCollection(); var builder = new MvcCoreBuilder(services); builder.InitializeTagHelper <TestTagHelper>((h, vc) => { h.Name = name; h.Number = number; h.ViewDataValue = vc.ViewData["TestData"]; }); var httpContext = MakeHttpContext(services.BuildServiceProvider()); var viewContext = MakeViewContext(httpContext); var viewDataValue = new object(); viewContext.ViewData.Add("TestData", viewDataValue); var activator = new DefaultTagHelperActivator(); var helper = new TestTagHelper(); // Act activator.Activate(helper, viewContext); // Assert Assert.Equal(name, helper.Name); Assert.Equal(number, helper.Number); Assert.Same(viewDataValue, helper.ViewDataValue); }
public void Activate_InitializesTagHelpersWithCorrectInitializers() { // Arrange var services = new ServiceCollection(); var builder = new MvcCoreBuilder(services); builder.InitializeTagHelper <TestTagHelper>((h, vc) => { h.Name = "Test 1"; h.Number = 100; }); builder.InitializeTagHelper <AnotherTestTagHelper>((h, vc) => { h.Name = "Test 2"; h.Number = 102; }); var httpContext = MakeHttpContext(services.BuildServiceProvider()); var viewContext = MakeViewContext(httpContext); var activator = new DefaultTagHelperActivator(); var testTagHelper = new TestTagHelper(); var anotherTestTagHelper = new AnotherTestTagHelper(); // Act activator.Activate(testTagHelper, viewContext); activator.Activate(anotherTestTagHelper, viewContext); // Assert Assert.Equal("Test 1", testTagHelper.Name); Assert.Equal(100, testTagHelper.Number); Assert.Equal("Test 2", anotherTestTagHelper.Name); Assert.Equal(102, anotherTestTagHelper.Number); }
public void ImageTagHelper_DoesNotUseMemoryCacheInstanceFromDI() { // Arrange var activator = new DefaultTagHelperActivator(new TypeActivatorCache()); var viewContext = CreateViewContext(); var imageTagHelper = activator.Create <ImageTagHelper>(viewContext); Assert.Same(CacheProvider.Cache, imageTagHelper.Cache); Assert.Same(HostingEnvironment, imageTagHelper.HostingEnvironment); }
public void LinkTagHelper_DoesNotUseMemoryCacheInstanceFromDI() { // Arrange var activator = new DefaultTagHelperActivator(); var viewContext = CreateViewContext(); var linkTagHelper = activator.Create <LinkTagHelper>(viewContext); Assert.Same(CacheProvider.Cache, linkTagHelper.Cache); Assert.Same(HostingEnvironment, linkTagHelper.HostingEnvironment); Assert.Same(FileVersionProvider, linkTagHelper.FileVersionProvider); }
public void CreateTagHelper_InitializesTagHelpers() { // Arrange var httpContext = new DefaultHttpContext() { RequestServices = new ServiceCollection().BuildServiceProvider() }; var viewContext = MakeViewContext(httpContext); var viewDataValue = new object(); viewContext.ViewData.Add("TestData", viewDataValue); var activator = new DefaultTagHelperActivator(new TypeActivatorCache()); // Act var helper = activator.Create<TestTagHelper>(viewContext); // Assert Assert.NotNull(helper); }
public void Activate_InitializesTagHelpersAfterActivatingProperties() { // Arrange var services = new ServiceCollection(); var builder = new MvcCoreBuilder(services); builder.InitializeTagHelper <TestTagHelper>((h, _) => h.ViewContext = MakeViewContext(MakeHttpContext())); var httpContext = MakeHttpContext(services.BuildServiceProvider()); var viewContext = MakeViewContext(httpContext); var activator = new DefaultTagHelperActivator(); var helper = new TestTagHelper(); // Act activator.Activate(helper, viewContext); // Assert Assert.NotSame(viewContext, helper.ViewContext); }