diff --git a/src/SharpFM.Model/ClipTypes/TableClipStrategy.cs b/src/SharpFM.Model/ClipTypes/TableClipStrategy.cs
index 1dab800..2e25f52 100644
--- a/src/SharpFM.Model/ClipTypes/TableClipStrategy.cs
+++ b/src/SharpFM.Model/ClipTypes/TableClipStrategy.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using SharpFM.Model.Parsing;
using SharpFM.Model.Schema;
+using SharpFM.Model.Scripting;
namespace SharpFM.Model.ClipTypes;
@@ -63,6 +64,6 @@ public ClipParseResult Parse(string xml)
public string DefaultXml(string clipName) =>
_wrapsBaseTable
- ? $""
+ ? $""
: "";
}
diff --git a/tests/SharpFM.Tests/ClipTypes/TableClipStrategyTests.cs b/tests/SharpFM.Tests/ClipTypes/TableClipStrategyTests.cs
index 292f5aa..73e5ca7 100644
--- a/tests/SharpFM.Tests/ClipTypes/TableClipStrategyTests.cs
+++ b/tests/SharpFM.Tests/ClipTypes/TableClipStrategyTests.cs
@@ -69,4 +69,19 @@ public void DefaultXml_ProducesParseableSnippet()
var result = TableClipStrategy.Table.Parse(seed);
Assert.IsType(result);
}
+
+ [Theory]
+ [InlineData("My \"favorite\" stuff")]
+ [InlineData("A & B")]
+ [InlineData("")]
+ public void Table_DefaultXml_EscapesPunctuationInName(string clipName)
+ {
+ var seed = TableClipStrategy.Table.DefaultXml(clipName);
+
+ var result = TableClipStrategy.Table.Parse(seed);
+
+ var success = Assert.IsType(result);
+ var model = Assert.IsType(success.Model);
+ Assert.Equal(clipName, model.Table.Name);
+ }
}