Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        /// <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);
        }
Example #6
0
        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);
 }