public void ParseQueryString_ArrayWithNoItems() { // Given var queryString = "?ids[]="; // When var args = UriUtil.ParseQueryString(queryString); // Then var array = args["ids"] as object[]; Assert.Empty(array); }
public IDictionary <string, object> GetQueryArgs(HttpContext httpContext) { var cache = httpContext.GetCache(); var args = cache["QueryArgs"] as IDictionary <string, object>; if (args == null) { var queryString = httpContext.Request.QueryString.Value; cache["QueryArgs"] = args = UriUtil.ParseQueryString(queryString); } return(args); }
public void ParseQueryString_Decimal() { // Given var queryString = "?debit=-20.02&credit=15,51"; // When var args = UriUtil.ParseQueryString(queryString); // Then var expected = new object[] { -20.02M, 15.51M }; var obtained = new object[] { args["debit"], args["credit"] }; Assert.Equal(expected, obtained); }
public void ParseQueryString_Integer() { // Given var queryString = "?zero=0&plus=010&minus=-020"; // When var args = UriUtil.ParseQueryString(queryString); // Then var expected = new object[] { 0, 10, -20 }; var obtained = new object[] { args["zero"], args["plus"], args["minus"] }; Assert.Equal(expected, obtained); }
public void ParseQueryString_Boolean() { // Given var queryString = "?up=true&down=false&forward"; // When var args = UriUtil.ParseQueryString(queryString); // Then var expected = new object[] { true, false, true }; var obtained = new object[] { args["up"], args["down"], args["forward"] }; Assert.Equal(expected, obtained); }
public void ParseQueryString_String() { // Given var queryString = "?empty=&text=hello, world!"; // When var args = UriUtil.ParseQueryString(queryString); // Then var expected = new object[] { null, "hello, world!" }; var obtained = new object[] { args["empty"], args["text"] }; Assert.Equal(expected, obtained); }
public void ParseQueryString_Array() { // Given var queryString = "?ids=1&ids[]=2&ids=3"; // When var args = UriUtil.ParseQueryString(queryString); // Then var expected = new object[] { 1, 2, 3 }; var obtained = args["ids"] as object[]; Assert.Equal(expected, obtained); }
public void ParseQueryString_ArrayWithOneItem() { // Given var queryString = "?ids[]=10"; // When var args = UriUtil.ParseQueryString(queryString); // Then var expected = new object[] { 10 }; var obtained = args["ids"] as object[]; Assert.Equal(expected, obtained); }
public void ParseQueryString_Timespan() { // Given var queryString = "?interval=23:59&delay=10.23:59:59.999"; // When var args = UriUtil.ParseQueryString(queryString); // Then var expected = new object[] { new TimeSpan(23, 59, 0), new TimeSpan(10, 23, 59, 59, 999) }; var obtained = new object[] { args["interval"], args["delay"] }; Assert.Equal(expected, obtained); }
public void ParseQueryString_DateTime() { // Given var queryString = "?at=2020-12-31T23:59:59&on=2020-12-31"; // When var args = UriUtil.ParseQueryString(queryString); // Then var expected = new object[] { new DateTime(2020, 12, 31, 23, 59, 59), new DateTime(2020, 12, 31) }; var obtained = new object[] { args["at"], args["on"] }; Assert.Equal(expected, obtained); }
public void ParseQueryString_Range() { // Given var queryString = "?num.min=-20&num.max=20&age.min=2002-12-31&top.max=100.001"; // When var args = UriUtil.ParseQueryString(queryString); // Then var expected = new object[] { -20, 20, new DateTime(2002, 12, 31), null, null, 100.001M }; var obtained = new object[] { args["num"]?.Get("Min"), args["num"]?.Get("Max"), args["age"]?.Get("Min"), args["age"]?.Get("Max"), args["top"]?.Get("Min"), args["top"]?.Get("Max") }; Assert.Equal(expected, obtained); }