diff --git a/src/Our.Umbraco.Ditto/ComponentModel/ConversionHandlers/DittoConversionHandlerRegistry.cs b/src/Our.Umbraco.Ditto/ComponentModel/ConversionHandlers/DittoConversionHandlerRegistry.cs index eecd1f2..77c1eb4 100644 --- a/src/Our.Umbraco.Ditto/ComponentModel/ConversionHandlers/DittoConversionHandlerRegistry.cs +++ b/src/Our.Umbraco.Ditto/ComponentModel/ConversionHandlers/DittoConversionHandlerRegistry.cs @@ -67,7 +67,7 @@ public void RegisterHandler() } else { - Cache.Add(objType, new[] { handlerType }); + Cache.Add(objType, new List { handlerType }); } } } diff --git a/tests/Our.Umbraco.Ditto.Tests/MultipleConversionHandlerTests.cs b/tests/Our.Umbraco.Ditto.Tests/MultipleConversionHandlerTests.cs new file mode 100644 index 0000000..4054d88 --- /dev/null +++ b/tests/Our.Umbraco.Ditto.Tests/MultipleConversionHandlerTests.cs @@ -0,0 +1,44 @@ +namespace Our.Umbraco.Ditto.Tests +{ + using NUnit.Framework; + using Our.Umbraco.Ditto.Tests.Mocks; + + [TestFixture] + public class MultipleConversionHandlerTests + { + public class MyModel + { + public string Name { get; set; } + } + + public class MyModelConversionHandler : DittoConversionHandler + { + public override void OnConverted() + { + Model.Name = "foo"; + } + } + + public class MyModelConversionHandler2 : DittoConversionHandler + { + public override void OnConverted() + { + Model.Name += " bar"; + } + } + + [Test] + public void Multiple_Conversion_Handlers_Registered_Same_Type() + { + Ditto.RegisterConversionHandler(); + Ditto.RegisterConversionHandler(); + + var content = new PublishedContentMock(); + + var model = content.As(); + + Assert.That(model, Is.Not.Null); + Assert.That(model.Name, Is.EqualTo("foo bar")); + } + } +} \ No newline at end of file diff --git a/tests/Our.Umbraco.Ditto.Tests/Our.Umbraco.Ditto.Tests.csproj b/tests/Our.Umbraco.Ditto.Tests/Our.Umbraco.Ditto.Tests.csproj index 9258dc9..bef0429 100644 --- a/tests/Our.Umbraco.Ditto.Tests/Our.Umbraco.Ditto.Tests.csproj +++ b/tests/Our.Umbraco.Ditto.Tests/Our.Umbraco.Ditto.Tests.csproj @@ -219,6 +219,7 @@ +