Esempio n. 1
0
        public override object ConvertTo(Type type, CultureInfo culture)
        {
            var args = new ValueProviderArgs(type);

            CorePipeline.Run($"mvc.valueprovider.{_pipelineName}", args);

            return(args.Result ?? base.ConvertTo(type, culture));
        }
Esempio n. 2
0
        public override void Process(ValueProviderArgs args)
        {
            //Stop if we dont recognize the requested type
            if (!DisableTypeConfigurationCheck && !_sitecoreContext.GlassContext.TypeConfigurations.ContainsKey(args.RequestedType))
            {
                return;
            }

            base.Process(args);
        }
        public override object GetResult(ValueProviderArgs args)
        {
            var renderingContext = RenderingContext.CurrentOrNull;

            if (string.IsNullOrEmpty(renderingContext?.Rendering.DataSource))
            {
                return(null);
            }

            return(_sitecoreContext.CreateType(args.RequestedType, renderingContext.Rendering.Item, true, true, null, null));
        }
Esempio n. 4
0
        public void ValueProviderProcessor_Stops_If_RequestedType_Is_Not_Equal_To_SupportedType()
        {
            //Arrange
            var processor = new MockValueProviderProcessor <RenderingParameters>(new RenderingParameters(string.Empty));
            var args      = new ValueProviderArgs(typeof(Item));

            //Act
            processor.Process(args);

            //Assert
            Assert.IsNull(args.Result);
        }
Esempio n. 5
0
        public void ValueProviderProcessor_Aborts_The_Pipeline_If_Result_Is_Retrieved()
        {
            //Arrange
            var result    = new RenderingParameters("?c=d");
            var processor = new MockValueProviderProcessor <RenderingParameters>(result);
            var args      = new ValueProviderArgs(typeof(RenderingParameters));

            //Act
            processor.Process(args);

            //Assert
            Assert.IsTrue(args.Aborted);
        }
Esempio n. 6
0
        public void ValueProviderProcessor_Sets_The_ArgsResults_When_Retrieved()
        {
            //Arrange
            var expectedResult = new RenderingParameters("?c=d");
            var processor      = new MockValueProviderProcessor <RenderingParameters>(expectedResult);
            var args           = new ValueProviderArgs(typeof(RenderingParameters));

            //Act
            processor.Process(args);

            //Assert
            Assert.AreSame(expectedResult, args.Result);
        }
        public override object GetResult(ValueProviderArgs args)
        {
            var renderingContext = RenderingContext.CurrentOrNull;

            if (renderingContext?.Rendering.Parameters == null)
            {
                return(null);
            }

            return(typeof(IGlassHtml).GetMethod("GetRenderingParameters")
                   .MakeGenericMethod(args.RequestedType)
                   .Invoke(_sitecoreContext.GlassHtml, new object[] { renderingContext.Rendering[GlassHtml.Parameters] }));
        }
Esempio n. 8
0
        public void ValueProviderProcessor_Stops_If_There_Already_Is_A_Result()
        {
            //Arrange
            var expectedResult = new RenderingParameters("?a=b");
            var processor      = new MockValueProviderProcessor <RenderingParameters>(new RenderingParameters("?c=d"));
            var args           = new ValueProviderArgs(typeof(RenderingParameters))
            {
                Result = expectedResult
            };

            //Act
            processor.Process(args);

            //Assert
            Assert.AreSame(expectedResult, args.Result);
        }
        public void GlassValueProviderProcessor_Stops_If_RequestedType_Is_Not_In_TypeConfigurations()
        {
            //Arrange
            var depenencyResolver = new Mock <IDependencyResolver>();
            var glassContext      = Context.Create(depenencyResolver.Object);
            var sitecoreContext   = new Mock <ISitecoreContext>();

            sitecoreContext.Setup(ctx => ctx.GlassContext).Returns(glassContext);

            var processor = new MockGlassValueProviderProcessor(sitecoreContext.Object, "something not null");
            var args      = new ValueProviderArgs(typeof(MockGlassValueProviderProcessor));

            //Act
            processor.Process(args);

            //Assert
            Assert.IsNull(args.Result);
        }
        public void GlassValueProviderProcessor_Skips_TypeConfiguration_Check_If_Disabled()
        {
            //Arrange
            var depenencyResolver = new Mock <IDependencyResolver>();
            var glassContext      = Context.Create(depenencyResolver.Object);
            var sitecoreContext   = new Mock <ISitecoreContext>();

            sitecoreContext.Setup(ctx => ctx.GlassContext).Returns(glassContext);

            var processor = new MockGlassValueProviderProcessor(sitecoreContext.Object, "something not null")
            {
                DisableTypeConfigurationCheck = true
            };
            var args = new ValueProviderArgs(typeof(MockGlassValueProviderProcessor));

            //Act
            processor.Process(args);

            //Assert
            Assert.AreEqual(args.Result, "something not null");
        }
        public void GlassValueProviderProcessor_Gets_Results_If_RequestedType_Is_In_TypeConfigurations()
        {
            //Arrange
            var depenencyResolver = new Mock <IDependencyResolver>();
            var glassContext      = Context.Create(depenencyResolver.Object);

            glassContext.TypeConfigurations.AddOrUpdate(typeof(string), type => new SitecoreTypeConfiguration(), (type, configuration) => configuration);

            var sitecoreContext = new Mock <ISitecoreContext>();

            sitecoreContext.Setup(ctx => ctx.GlassContext).Returns(glassContext);

            var processor = new MockGlassValueProviderProcessor(sitecoreContext.Object, "something not null");
            var args      = new ValueProviderArgs(typeof(string));

            //Act
            processor.Process(args);

            //Assert
            Assert.AreEqual(args.Result, "something not null");
        }
 public override object GetResult(ValueProviderArgs args)
 {
     return(_sitecoreContext.GetCurrentItem(args.RequestedType, true, true));
 }
Esempio n. 13
0
 public override object GetResult(ValueProviderArgs args)
 {
     return(_result);
 }