mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-26 20:16:15 +08:00
Fixing invalid BBcode filter state
This commit is contained in:
@@ -34,5 +34,28 @@ namespace Orchard.Core.Tests.Common {
|
|||||||
var processed = _filter.ProcessContent(text, null);
|
var processed = _filter.ProcessContent(text, null);
|
||||||
Assert.That(processed, Is.EqualTo("foo <a href=\"alink\">bar</a> baz"));
|
Assert.That(processed, Is.EqualTo("foo <a href=\"alink\">bar</a> baz"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void ShouldIgnoreMalformedUrl() {
|
||||||
|
const string text = "foo [url]bar baz";
|
||||||
|
var processed = _filter.ProcessContent(text, null);
|
||||||
|
Assert.That(processed, Is.EqualTo("foo [url]bar baz"));
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void ShouldIgnoreMalformedUrlWithTitle() {
|
||||||
|
const string text = "foo [url=alink]bar baz";
|
||||||
|
var processed = _filter.ProcessContent(text, null);
|
||||||
|
Assert.That(processed, Is.EqualTo("foo [url=alink]bar baz"));
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void ShouldIgnoreMalformedImg() {
|
||||||
|
const string text = "foo [img]bar baz";
|
||||||
|
var processed = _filter.ProcessContent(text, null);
|
||||||
|
Assert.That(processed, Is.EqualTo("foo [img]bar baz"));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -32,6 +32,11 @@ namespace Orchard.Core.Common.Services {
|
|||||||
|
|
||||||
foreach(var start in allIndexes) {
|
foreach(var start in allIndexes) {
|
||||||
var end = text.IndexOf("[/url]", start, StringComparison.Ordinal);
|
var end = text.IndexOf("[/url]", start, StringComparison.Ordinal);
|
||||||
|
|
||||||
|
if (end == -1) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
var url = text.Substring(start + 5 , end - start - 5);
|
var url = text.Substring(start + 5 , end - start - 5);
|
||||||
|
|
||||||
// substitue [url] by <a>
|
// substitue [url] by <a>
|
||||||
@@ -50,6 +55,11 @@ namespace Orchard.Core.Common.Services {
|
|||||||
foreach (var start in allIndexes) {
|
foreach (var start in allIndexes) {
|
||||||
var urlEnd = text.IndexOf("]", start, StringComparison.Ordinal);
|
var urlEnd = text.IndexOf("]", start, StringComparison.Ordinal);
|
||||||
var end = text.IndexOf("[/url]", start, StringComparison.Ordinal);
|
var end = text.IndexOf("[/url]", start, StringComparison.Ordinal);
|
||||||
|
|
||||||
|
if (end == -1) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
var url = text.Substring(start + 5, urlEnd - start - 5);
|
var url = text.Substring(start + 5, urlEnd - start - 5);
|
||||||
var title = text.Substring(urlEnd + 1, end - urlEnd - 1);
|
var title = text.Substring(urlEnd + 1, end - urlEnd - 1);
|
||||||
|
|
||||||
@@ -68,6 +78,11 @@ namespace Orchard.Core.Common.Services {
|
|||||||
|
|
||||||
foreach (var start in allIndexes) {
|
foreach (var start in allIndexes) {
|
||||||
var end = text.IndexOf("[/img]", start, StringComparison.Ordinal);
|
var end = text.IndexOf("[/img]", start, StringComparison.Ordinal);
|
||||||
|
|
||||||
|
if (end == -1) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
var url = text.Substring(start + 5, end - start - 5);
|
var url = text.Substring(start + 5, end - start - 5);
|
||||||
|
|
||||||
// substitue [url] by <a>
|
// substitue [url] by <a>
|
||||||
|
|||||||
Reference in New Issue
Block a user