details: https://hg.nginx.org/njs/rev/5b52293ad769 branches: changeset: 2193:5b52293ad769 user: Dmitry Volyntsev <xei...@nginx.com> date: Thu Sep 07 16:12:31 2023 -0700 description: 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. diffstat: nginx/t/js_shared_dict.t | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) diffs (28 lines): diff -r 1f0adb4b81da -r 5b52293ad769 nginx/t/js_shared_dict.t --- a/nginx/t/js_shared_dict.t Wed Sep 06 18:02:50 2023 -0700 +++ b/nginx/t/js_shared_dict.t Thu Sep 07 16:12:31 2023 -0700 @@ -190,8 +190,8 @@ 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&va 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/, _______________________________________________ nginx-devel mailing list nginx-devel@nginx.org https://mailman.nginx.org/mailman/listinfo/nginx-devel