diff --git a/src/Umbraco.Core/Dynamics/DynamicXml.cs b/src/Umbraco.Core/Dynamics/DynamicXml.cs
index 53db732bea..0cfc13e58c 100644
--- a/src/Umbraco.Core/Dynamics/DynamicXml.cs
+++ b/src/Umbraco.Core/Dynamics/DynamicXml.cs
@@ -10,7 +10,7 @@ using System.Web;
namespace Umbraco.Core.Dynamics
{
- internal class DynamicXml : DynamicObject, IEnumerable
+ public class DynamicXml : DynamicObject, IEnumerable
{
public XElement BaseElement { get; set; }
diff --git a/src/Umbraco.Tests/DynamicDocument/DynamicXmlTests.cs b/src/Umbraco.Tests/DynamicDocument/DynamicXmlTests.cs
new file mode 100644
index 0000000000..b302f27979
--- /dev/null
+++ b/src/Umbraco.Tests/DynamicDocument/DynamicXmlTests.cs
@@ -0,0 +1,58 @@
+using System;
+using System.Xml;
+using System.Xml.Linq;
+using Microsoft.CSharp.RuntimeBinder;
+using NUnit.Framework;
+using Umbraco.Core.Dynamics;
+
+namespace Umbraco.Tests.DynamicDocument
+{
+ [TestFixture]
+ public class DynamicXmlTests
+ {
+
+ ///
+ /// Test the current Core class
+ ///
+ [Test]
+ public void Find_Test_Core_Class()
+ {
+ RunFindTest(x => new DynamicXml(x));
+ }
+
+ ///
+ /// Tests the macroEngines legacy class
+ ///
+ [Test]
+ public void Find_Test_Legacy_Class()
+ {
+ RunFindTest(x => new global::umbraco.MacroEngines.DynamicXml(x));
+ }
+
+ private void RunFindTest(Func getDynamicXml)
+ {
+ var xmlstring = @"
+
+
+
+";
+
+ dynamic dXml = getDynamicXml(xmlstring);
+
+ var result1 = dXml.Find("@name", "test 1");
+ var result2 = dXml.Find("@name", "test 2");
+ var result3 = dXml.Find("@name", "test 3");
+ var result4 = dXml.Find("@name", "dont find");
+
+ Assert.AreEqual("found 1", result1.value);
+ Assert.AreEqual("found 2", result2.value);
+ Assert.AreEqual("found 3", result3.value);
+ Assert.Throws(() =>
+ {
+ //this will throw because result4 is not found
+ var temp = result4.value;
+ });
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/src/Umbraco.Tests/Umbraco.Tests.csproj b/src/Umbraco.Tests/Umbraco.Tests.csproj
index 0f24401bad..df5601255e 100644
--- a/src/Umbraco.Tests/Umbraco.Tests.csproj
+++ b/src/Umbraco.Tests/Umbraco.Tests.csproj
@@ -55,6 +55,7 @@
+