Browse Source

Fixed bug in XmlParser.IsAttributeValueChar not recognising valid characters as being valid for an attribute value.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@3976 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Matt Ward 17 years ago
parent
commit
4df59fe850
  1. 13
      src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlParser.cs
  2. 75
      src/AddIns/DisplayBindings/XmlEditor/Test/Parser/AttributeValueUnderCursorTests.cs

13
src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlParser.cs

@ -275,18 +275,13 @@ namespace ICSharpCode.XmlEditor @@ -275,18 +275,13 @@ namespace ICSharpCode.XmlEditor
/// </summary>
public static bool IsAttributeValueChar(char ch)
{
if (Char.IsLetterOrDigit(ch) ||
(ch == ':') ||
(ch == '/') ||
(ch == '_') ||
(ch == '.') ||
(ch == '-') ||
(ch == '#'))
if ((ch == '<') ||
(ch == '>'))
{
return true;
return false;
}
return false;
return true;
}
/// <summary>

75
src/AddIns/DisplayBindings/XmlEditor/Test/Parser/AttributeValueUnderCursorTests.cs

@ -69,5 +69,80 @@ namespace XmlEditor.Tests.Parser @@ -69,5 +69,80 @@ namespace XmlEditor.Tests.Parser
string text = "<a foo='a";
Assert.AreEqual(String.Empty, XmlParser.GetAttributeValueAtIndex(text, text.Length - 1));
}
[Test]
public void MarkupExtensionValueTest()
{
string xaml = "<Test val1=\"{Binding Value}\" />";
int offset = "<Test val1=\"{Bin".Length;
Assert.AreEqual("{Binding Value}", XmlParser.GetAttributeValueAtIndex(xaml, offset));
}
[Test]
public void LeftCurlyBracketIsValidAttributeValueChar()
{
Assert.IsTrue(XmlParser.IsAttributeValueChar('{'));
}
[Test]
public void RightCurlyBracketIsValidAttributeValueChar()
{
Assert.IsTrue(XmlParser.IsAttributeValueChar('}'));
}
[Test]
public void SpaceCharIsValidAttributeValueChar()
{
Assert.IsTrue(XmlParser.IsAttributeValueChar(' '));
}
[Test]
public void ColonCharIsValidAttributeValueChar()
{
Assert.IsTrue(XmlParser.IsAttributeValueChar(':'));
}
[Test]
public void ForwardSlashCharIsValidAttributeValueChar()
{
Assert.IsTrue(XmlParser.IsAttributeValueChar('/'));
}
[Test]
public void UnderscoreCharIsValidAttributeValueChar()
{
Assert.IsTrue(XmlParser.IsAttributeValueChar('_'));
}
[Test]
public void DotCharIsValidAttributeValueChar()
{
Assert.IsTrue(XmlParser.IsAttributeValueChar('.'));
}
[Test]
public void DashCharIsValidAttributeValueChar()
{
Assert.IsTrue(XmlParser.IsAttributeValueChar('-'));
}
[Test]
public void HashCharIsValidAttributeValueChar()
{
Assert.IsTrue(XmlParser.IsAttributeValueChar('#'));
}
[Test]
public void LeftAngleBracketIsNotValidAttributeValueChar()
{
Assert.IsFalse(XmlParser.IsAttributeValueChar('<'));
}
[Test]
public void RightAngleBracketIsNotValidAttributeValueChar()
{
Assert.IsFalse(XmlParser.IsAttributeValueChar('>'));
}
}
}

Loading…
Cancel
Save