From: Dmitry Volyntsev Date: Thu, 7 Sep 2023 23:12:31 +0000 (-0700) Subject: Tests: fixed incr() tests for a shared dictionary. X-Git-Tag: 0.8.1~7 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=c95c8a826b244c866657782b9afe2d58d1cdaf7a;p=njs.git Tests: fixed incr() tests for a shared dictionary. Previously, the incr() method called SharedDict.incr() with a NaN value as a second argument because parseInt(undefined) returns NaN. The test itself failed to capture the issue because it matches the whole HTTP response and the pattern itself was too short, so it matched accidentally. --- diff --git a/nginx/t/js_shared_dict.t b/nginx/t/js_shared_dict.t index c565ecc6..d43a13be 100644 --- a/nginx/t/js_shared_dict.t +++ b/nginx/t/js_shared_dict.t @@ -190,8 +190,8 @@ $t->write_file('test.js', <<'EOF'); function incr(r) { var dict = ngx.shared[r.args.dict]; - var val = dict.incr(r.args.key, parseInt(r.args.by), - parseInt(r.args.def)); + var def = r.args.def ? parseInt(r.args.def) : 0; + var val = dict.incr(r.args.key, parseInt(r.args.by), def); r.return(200, val); } @@ -272,9 +272,10 @@ like(http_get('/set?dict=waka&key=FOO&value=42'), qr/true/, 'set waka.FOO'); like(http_get('/chain?dict=bar&key=FOO2&value=aaa'), qr/aaa/, 'chain bar.FOO2'); like(http_get('/incr?dict=waka&key=FOO&by=5'), qr/47/, 'incr waka.FOO'); -like(http_get('/incr?dict=waka&key=FOO2&by=1'), qr/1/, 'incr waka.FOO2'); -like(http_get('/incr?dict=waka&key=FOO2&by=2'), qr/3/, 'incr waka.FOO2'); -like(http_get('/incr?dict=waka&key=FOO3&by=3&def=5'), qr/8/, 'incr waka.FOO3'); +like(http_get('/incr?dict=waka&key=FOO2&by=7777'), qr/7777/, 'incr waka.FOO2'); +like(http_get('/incr?dict=waka&key=FOO2&by=2'), qr/7779/, 'incr waka.FOO2'); +like(http_get('/incr?dict=waka&key=FOO3&by=3333&def=5'), qr/3338/, + 'incr waka.FOO3'); like(http_get('/has?dict=foo&key=FOO'), qr/true/, 'has foo.FOO'); like(http_get('/has?dict=foo&key=NOT_EXISTING'), qr/false/,