public void FindTag_SpriteWithIdTag() { // Arrange var text = new FastStringBuilder("test <sprite=6> text"); // Act RichTextFixer.FindTag(text, 0, out var tag); // Assert Assert.AreEqual(5, tag.Start); Assert.AreEqual(14, tag.End); Assert.AreEqual(RichTextFixer.TagType.Opening, tag.Type); }
public void FindTag_FindsSimpleOpeningTag() { // Arrange var text = new FastStringBuilder("text <opening> text"); // Act RichTextFixer.FindTag(text, 0, out var tag); // Assert Assert.AreEqual(RichTextFixer.TagType.Opening, tag.Type); Assert.AreEqual(5, tag.Start); Assert.AreEqual(13, tag.End); }
public void FindTag_IgnoreTagStartingWithSpace() { // Arrange var text = new FastStringBuilder("test < my invalid tag> text"); // Act RichTextFixer.FindTag(text, 0, out var tag); // Assert Assert.AreEqual(0, tag.Start); Assert.AreEqual(0, tag.End); Assert.AreEqual(RichTextFixer.TagType.None, tag.Type); }
public void FindTag_IgnoreTagWithoutClosingChar() { // Arrange var text = new FastStringBuilder("test <my invalid tag<b> text"); // Act RichTextFixer.FindTag(text, 0, out var tag); // Assert Assert.AreEqual(20, tag.Start); Assert.AreEqual(22, tag.End); Assert.AreEqual(RichTextFixer.TagType.Opening, tag.Type); }
public void FindTag_OpeningTagWithAttributes() { // Arrange var text = new FastStringBuilder("test <mytag=4 name=\"asdf\" id=5> text"); // Act RichTextFixer.FindTag(text, 0, out var tag); // Assert Assert.AreEqual(5, tag.Start); Assert.AreEqual(30, tag.End); Assert.AreEqual(RichTextFixer.TagType.Opening, tag.Type); }
public void FindTag_FindsSelfContainedTagWithValue() { // Arrange var text = new FastStringBuilder("text <opening=15m/> text"); // Act RichTextFixer.FindTag(text, 0, out var tag); // Assert Assert.AreEqual(RichTextFixer.TagType.SelfContained, tag.Type); Assert.AreEqual(5, tag.Start); Assert.AreEqual(18, tag.End); }
public void FindTag_ProducesTheSameHash_ForSameOpeningAndClosingTag() { // Arrange var text1 = new FastStringBuilder("text <tag=15m/> text"); var text2 = new FastStringBuilder("text </tag> text"); // Act RichTextFixer.FindTag(text1, 0, out _, out _, out _, out int hash1); RichTextFixer.FindTag(text2, 0, out _, out _, out _, out int hash2); // Assert Assert.AreEqual(hash1, hash2); }
public void FindTag_ProducesTheSameHash_ForSelfContainedTagsWithDifferentValues() { // Arrange var text1 = new FastStringBuilder("text <opening=15m/> text"); var text2 = new FastStringBuilder("text <opening=20d/> text"); // Act RichTextFixer.FindTag(text1, 0, out _, out _, out _, out int hash1); RichTextFixer.FindTag(text2, 0, out _, out _, out _, out int hash2); // Assert Assert.AreEqual(hash1, hash2); }
public void FindTag_FindsSelfContainedTagWithValue() { // Arrange var text = new FastStringBuilder("text <opening=15m/> text"); // Act RichTextFixer.FindTag(text, 0, out var start, out var end, out int type, out _); // Assert Assert.AreEqual(3, type); Assert.AreEqual(5, start); Assert.AreEqual(18, end); }
public void FindTag_ProducesTheSameHash_ForOpeningTagsWithDifferentValues() { // Arrange var text1 = new FastStringBuilder("text <opening=12m> text"); var text2 = new FastStringBuilder("text <opening=18s> text"); // Act RichTextFixer.FindTag(text1, 0, out _, out _, out _, out var hashCode1); RichTextFixer.FindTag(text2, 0, out _, out _, out _, out var hashCode2); // Assert Assert.AreEqual(hashCode1, hashCode2); }
public void FindTag_FindsSimpleOpeningTag() { // Arrange var text = new FastStringBuilder("text <opening> text"); // Act RichTextFixer.FindTag(text, 0, out var start, out var end, out int type, out _); // Assert Assert.AreEqual(1, type); Assert.AreEqual(5, start); Assert.AreEqual(13, end); }
public void FindTag_FindsOpeningTagWithValue() { // Arrange var text = new FastStringBuilder("text <opening=12m> text"); // Act RichTextFixer.FindTag(text, 0, out var start, out var end, out var type, out _); // Assert Assert.AreEqual(1, type); Assert.AreEqual(5, start); Assert.AreEqual(17, end); }
public void FindTag_DoesntFindsTagWithSpaceInside() { // Arrange var text = new FastStringBuilder("text <ope ning> text"); // Act RichTextFixer.FindTag(text, 0, out var start, out var end, out int type, out _); // Assert Assert.AreEqual(0, type); Assert.AreEqual(0, start); Assert.AreEqual(0, end); }
public void FindTag_ReturnsZero_WhenNoTagIsFound() { // Arrange var text = new FastStringBuilder("text"); // Act RichTextFixer.FindTag(text, 0, out var tag); // Assert Assert.AreEqual(0, tag.Start); Assert.AreEqual(0, tag.End); Assert.AreEqual(RichTextFixer.TagType.None, tag.Type); Assert.AreEqual(0, tag.HashCode); }
public void FindTag_StartFromTheProvidedStartPosition() { // Arrange var text = new FastStringBuilder(" <tag> text"); // Act RichTextFixer.FindTag(text, 6, out var start, out var end, out int type, out int hashCode); // Assert Assert.AreEqual(0, start); Assert.AreEqual(0, end); Assert.AreEqual(0, type); Assert.AreEqual(0, hashCode); }
public void FindTag_ReturnsZero_WhenNoTagIsFound() { // Arrange var text = new FastStringBuilder("text"); // Act RichTextFixer.FindTag(text, 0, out var start, out var end, out int type, out int hashCode); // Assert Assert.AreEqual(0, start); Assert.AreEqual(0, end); Assert.AreEqual(0, type); Assert.AreEqual(0, hashCode); }
public void FindTag_StartFromTheProvidedStartPosition() { // Arrange var text = new FastStringBuilder(" <tag> text"); // Act RichTextFixer.FindTag(text, 6, out var tag); // Assert Assert.AreEqual(0, tag.Start); Assert.AreEqual(0, tag.End); Assert.AreEqual(RichTextFixer.TagType.None, tag.Type); Assert.AreEqual(0, tag.HashCode); }