Skip to content

Commit 539a1d9

Browse files
committed
Add more tests for ParseQuery with encoded key and value
1 parent 5ddf2fa commit 539a1d9

File tree

1 file changed

+34
-2
lines changed

1 file changed

+34
-2
lines changed

src/Http/WebUtilities/test/QueryHelpersTests.cs

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,41 @@ public void ParseQueryWithEmptyKeyWorks()
5858
[Fact]
5959
public void ParseQueryWithEncodedKeyWorks()
6060
{
61-
var collection = QueryHelpers.ParseQuery("?fields%5BtodoItems%5D");
61+
var collection = QueryHelpers.ParseQuery("?fields+%5BtodoItems%5D");
6262
Assert.Single(collection);
63-
Assert.Equal("", collection["fields[todoItems]"].FirstOrDefault());
63+
Assert.Equal("", collection["fields [todoItems]"].FirstOrDefault());
64+
}
65+
66+
[Fact]
67+
public void ParseQueryWithEncodedValueWorks()
68+
{
69+
var collection = QueryHelpers.ParseQuery("?=fields+%5BtodoItems%5D");
70+
Assert.Single(collection);
71+
Assert.Equal("fields [todoItems]", collection[""].FirstOrDefault());
72+
}
73+
74+
[Fact]
75+
public void ParseQueryWithEncodedKeyEmptyValueWorks()
76+
{
77+
var collection = QueryHelpers.ParseQuery("?fields+%5BtodoItems%5D=");
78+
Assert.Single(collection);
79+
Assert.Equal("", collection["fields [todoItems]"].FirstOrDefault());
80+
}
81+
82+
[Fact]
83+
public void ParseQueryWithEncodedKeyEncodedValueWorks()
84+
{
85+
var collection = QueryHelpers.ParseQuery("?fields+%5BtodoItems%5D=%5B+1+%5D");
86+
Assert.Single(collection);
87+
Assert.Equal("[ 1 ]", collection["fields [todoItems]"].FirstOrDefault());
88+
}
89+
90+
[Fact]
91+
public void ParseQueryWithEncodedKeyEncodedValuesWorks()
92+
{
93+
var collection = QueryHelpers.ParseQuery("?fields+%5BtodoItems%5D=%5B+1+%5D&fields+%5BtodoItems%5D=%5B+2+%5D");
94+
Assert.Single(collection);
95+
Assert.Equal(new[] { "[ 1 ]", "[ 2 ]" }, collection["fields [todoItems]"]);
6496
}
6597

6698
[Theory]

0 commit comments

Comments
 (0)