mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-26 12:03:16 +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);
|
||||
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) {
|
||||
var end = text.IndexOf("[/url]", start, StringComparison.Ordinal);
|
||||
|
||||
if (end == -1) {
|
||||
continue;
|
||||
}
|
||||
|
||||
var url = text.Substring(start + 5 , end - start - 5);
|
||||
|
||||
// substitue [url] by <a>
|
||||
@@ -50,6 +55,11 @@ namespace Orchard.Core.Common.Services {
|
||||
foreach (var start in allIndexes) {
|
||||
var urlEnd = text.IndexOf("]", 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 title = text.Substring(urlEnd + 1, end - urlEnd - 1);
|
||||
|
||||
@@ -68,6 +78,11 @@ namespace Orchard.Core.Common.Services {
|
||||
|
||||
foreach (var start in allIndexes) {
|
||||
var end = text.IndexOf("[/img]", start, StringComparison.Ordinal);
|
||||
|
||||
if (end == -1) {
|
||||
continue;
|
||||
}
|
||||
|
||||
var url = text.Substring(start + 5, end - start - 5);
|
||||
|
||||
// substitue [url] by <a>
|
||||
|
||||
Reference in New Issue
Block a user