tests for replaceQueryParam() with three arguments

I added tests for replaceQueryParam() called with three arguments.

I also noticed that a numeric oldVal was not getting replaced, so I modified the call to deleteQueryParam() to decode the oldVal.