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)); }
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)); }
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); }
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); }
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] })); }
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)); }
public override object GetResult(ValueProviderArgs args) { return(_result); }