From 41a28dad40bba17f0c69666ba4d40a32867a6862 Mon Sep 17 00:00:00 2001 From: Dmitry Volyntsev Date: Mon, 6 Jul 2020 18:37:13 +0000 Subject: [PATCH] Added TypeScript test. --- auto/make | 3 +++ test/ts/test.ts | 66 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 test/ts/test.ts diff --git a/auto/make b/auto/make index db78c778..caac3a2e 100644 --- a/auto/make +++ b/auto/make @@ -265,6 +265,9 @@ ts: cp nginx/ts/*.ts $NJS_BUILD_DIR/ts/ cp src/ts/*.ts $NJS_BUILD_DIR/ts/ +ts_test: ts + tsc ./test/ts/test.ts + dist: NJS_VER=`grep NJS_VERSION src/njs.h | sed -e 's/.*"\(.*\)".*/\1/'`; \\ rm -rf njs-\$\${NJS_VER} \\ diff --git a/test/ts/test.ts b/test/ts/test.ts new file mode 100644 index 00000000..a146b293 --- /dev/null +++ b/test/ts/test.ts @@ -0,0 +1,66 @@ +/// + +function handler(r: NginxHTTPRequest) { + var bs: NjsByteString; + var s: string; + + // builtin string vs NjsByteString + + s = 'ordinary string'; + bs = String.bytesFrom('000000', 'hex'); + bs = s.toBytes(); + bs = s.toUTF8(); + bs.fromBytes(null, null); + + s = bs + ''; + + // r.uri + + if (r.uri == '/') { + } + + // r.args + + bs = r.args.x; + bs = r.args[1]; + s = r.args.x.fromUTF8(); + s = r.args.x + ''; + + // r.headersIn + + r.headersIn['Accept'].fromBytes() == 'dddd'; + + // r.headersOut + + r.headersOut['Content-Type'] = 'text/plain'; + // Warning: r.headersOut['Content-Type'] = ['a', 'b']; + r.headersOut['Connection'] = undefined; + r.headersOut['Connection'] = null; + + r.headersOut['Set-Cookie'] = ['aaa', 'bbb']; + r.headersOut['Foo'] = ['aaa', 'bbb']; + + r.subrequest('/uri', reply => r.return(200, reply.headersOut["Location"])); + + // r.log + + r.log(bs); + r.log(r.headersOut['Connection']); + + // r.variables + + r.variables.a == 'a'; + r.variables.cookie_a = 'b'; + + // r.subrequest + r.subrequest('/p/sub1').then(reply => r.return(reply.status)); + r.subrequest('/p/sub2', reply => r.return(reply.status)); + r.subrequest('/p/sub3', {detached:true}); + r.subrequest('/p/sub4', 'a=1&b=2').then(reply => r.return(reply.status, + JSON.stringify(JSON.parse(reply.responseBody)))); + + // builtin objects + + njs.dump('asdf'); + njs.version != process.argv[1]; +} -- 2.47.3