public void HasData_should_be_true() { var handler = new StaticLocalizationAttributeHandler(); var args = new AttributeHandlersArgs(new StaticLocalizationAttribute("test"), null, null, null); handler.HasData(args).Should().Be(true); }
public void CanProcess_should_be_false() { var handler = new DynamicLocalizationAttributeHandler(); var args = new AttributeHandlersArgs(new AutoRefreshLocalizationAttribute(), null, null, null); handler.CanProcess(args).Should().Be(false); }
/// <summary> /// Processes the localization attributes. /// </summary> /// <param name="invocation">The invocation.</param> private void ProcessLocalizationAttributes(IInvocation invocation) { var methodName = invocation.Method.Name.Replace(GetMethod, string.Empty); var prop = invocation.TargetType.GetProperty(methodName); var attr = Attribute.GetCustomAttribute(prop, typeof(LocalizationAttributeBase), true); if (attr != null) { var locAttr = (LocalizationAttributeBase)attr; var args = new AttributeHandlersArgs(locAttr, invocation, prop, invocation.ReturnValue); var handler = attributeHandlers.FirstOrDefault(p => p.CanProcess(args)); if (handler != null) { if (handler.HasData(args)) { var data = handler.GetData(args); if (!string.IsNullOrWhiteSpace(data)) { invocation.ReturnValue = data; return; } } } } }
public void Data_should_be_empty() { var handler = new AutoRefreshLocalizationAttributeHandler(); var args = new AttributeHandlersArgs(new AutoRefreshLocalizationAttribute(), null, null, null); handler.GetData(args).Should().Be(string.Empty); }
public void CanProcess_should_be_true() { var handler = new DynamicLocalizationAttributeHandler(); var args = new AttributeHandlersArgs(new DynamicLocalizationAttribute("test", "test"), null, null, null); handler.CanProcess(args).Should().Be(true); }
public void Data_should_be_empty() { DISetup.SetupContainer(); var locManager = new Mock <ILocalizationManager>(); locManager.Setup(s => s.GetResource(It.Is <string>(s => s == "test"))).Returns("test localization"); DISetup.Container.RegisterInstance(locManager.Object); var handler = new StaticLocalizationAttributeHandler(); var args = new AttributeHandlersArgs(new StaticLocalizationAttribute("test2"), null, null, null); handler.GetData(args).Should().BeNull(); }
public void Data_without_prefix_should_be_empty() { DISetup.SetupContainer(); var locManager = new Mock <ILocalizationManager>(); locManager.Setup(s => s.GetResource(It.Is <string>(s => s == "test"))).Returns("test localization"); DISetup.Container.RegisterInstance(locManager.Object); var invocation = new Mock <Castle.DynamicProxy.IInvocation>(); invocation.Setup(p => p.InvocationTarget).Returns(new FakeModel() { DependendProperty = "test2" }); var args = new AttributeHandlersArgs(new DynamicLocalizationAttribute("DependendProperty"), invocation.Object, null, null); var handler = new DynamicLocalizationAttributeHandler(); handler.GetData(args).Should().BeNull(); }
/// <summary> /// Determines whether the specified attribute has data. /// </summary> /// <param name="args">The arguments.</param> /// <returns><c>true</c> if the specified attribute has data; otherwise, <c>false</c>.</returns> public bool HasData(AttributeHandlersArgs args) { return(true); }
/// <summary> /// Gets the data. /// </summary> /// <param name="args">The arguments.</param> /// <returns>System.String.</returns> public string GetData(AttributeHandlersArgs args) { return("Dummy data"); }
/// <summary> /// Determines whether this instance can process the specified attribute. /// </summary> /// <param name="args">The arguments.</param> /// <returns><c>true</c> if this instance can process the specified attribute; otherwise, <c>false</c>.</returns> public bool CanProcess(AttributeHandlersArgs args) { return(args.Attribute is FakeRefreshAttribute); }