mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-24 05:32:21 +00:00
5417e898ff
- check functions are never called with a NULL args list, it is always an array, so first check can be removed - the expression parser guarantees that we can't have anything else, because we mentioned json converter takes a mandatory string argument. Thus test on `ARGT_STR` can be removed as well - also add breaking line between enum and function declaration In order to validate it, add a simple json test testing very simple cases but can be improved in the future: - default json converter without args - json converter failing on error (utf8) - json converter with error being removed (utf8s) Signed-off-by: William Dauchy <wdauchy@gmail.com>
42 lines
782 B
Plaintext
42 lines
782 B
Plaintext
varnishtest "json converter test"
|
|
|
|
#REQUIRE_VERSION=1.6
|
|
|
|
feature ignore_unknown_macro
|
|
|
|
server s1 {
|
|
rxreq
|
|
txresp
|
|
} -repeat 2 -start
|
|
|
|
haproxy h1 -conf {
|
|
defaults
|
|
mode http
|
|
timeout connect 1s
|
|
timeout client 1s
|
|
timeout server 1s
|
|
|
|
frontend fe
|
|
bind "fd@${fe}"
|
|
|
|
http-response set-header json0 "%[str(foo 1/2),json]"
|
|
# bad UTF-8 sequence
|
|
http-response set-header json1 "%[str(\xE0),json(utf8)]"
|
|
# bad UTF-8 sequence, but removes them
|
|
http-response set-header json2 "%[str(-\xE0-),json(utf8s)]"
|
|
|
|
default_backend be
|
|
|
|
backend be
|
|
server s1 ${s1_addr}:${s1_port}
|
|
} -start
|
|
|
|
client c1 -connect ${h1_fe_sock} {
|
|
txreq -url "/"
|
|
rxresp
|
|
expect resp.http.json0 == "foo 1\\/2"
|
|
expect resp.http.json1 == ""
|
|
expect resp.http.json2 == "--"
|
|
expect resp.status == 200
|
|
} -run
|