Skip to content

Commit 738a796

Browse files
Fix whitespace issues with filters (#388)
1 parent d9a2871 commit 738a796

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

src/YesSql.Filters.Abstractions/Nodes/OperatorNodes.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public override string ToNormalizedString()
7171
=> $"({Left.ToNormalizedString()} OR {Right.ToNormalizedString()})";
7272

7373
public override string ToString()
74-
=> $"{Left.ToString()} {Value} {Right.ToString()}";
74+
=> String.IsNullOrWhiteSpace(Value) ? $"{Left.ToString()} {Right.ToString()}" : $"{Left.ToString()} {Value} {Right.ToString()}";
7575
}
7676

7777
public class AndNode : OperatorNode

test/YesSql.Tests/Filters/QueryEngineTests.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,19 @@ public void ShouldGroup(string search, string normalized)
236236
Assert.Equal(normalized, result.ToNormalizedString());
237237
}
238238

239+
[Theory]
240+
[InlineData("title:bill steve")]
241+
public void ShouldNotIncludeExtraWhitespace(string search)
242+
{
243+
var parser = new QueryEngineBuilder<Article>()
244+
.WithNamedTerm("title", b => b.ManyCondition(ArticleManyMatch(), ArticleManyNotMatch()))
245+
.Build();
246+
247+
var result = parser.Parse(search);
248+
249+
Assert.Equal(search, result.ToString());
250+
}
251+
239252
[Fact]
240253
public void ShouldIgnoreMultipleNamedTerms()
241254
{

0 commit comments

Comments
 (0)