details: https://hg.nginx.org/njs/rev/ac39f4c902b5 branches: changeset: 1078:ac39f4c902b5 user: Valentin Bartenev <vb...@nginx.com> date: Sun Jul 28 13:17:13 2019 +0300 description: Updated the list of space separators in String.prototype.trim().
According to the specification it must include all Unicode code points listed in the "Space_Separator" (Zs) category. diffstat: njs/njs_string.c | 30 ++++++++++++++++++++++++++++++ njs/test/njs_unit_test.c | 10 ++++++++++ 2 files changed, 40 insertions(+), 0 deletions(-) diffs (71 lines): diff -r 575c018f2206 -r ac39f4c902b5 njs/njs_string.c --- a/njs/njs_string.c Sat Jul 27 21:12:32 2019 +0300 +++ b/njs/njs_string.c Sun Jul 28 13:17:13 2019 +0300 @@ -2425,8 +2425,23 @@ njs_string_prototype_trim(njs_vm_t *vm, case 0x000D: /* <CR> */ case 0x0020: /* <SP> */ case 0x00A0: /* <NBSP> */ + case 0x1680: + case 0x2000: + case 0x2001: + case 0x2002: + case 0x2003: + case 0x2004: + case 0x2005: + case 0x2006: + case 0x2007: + case 0x2008: + case 0x2009: + case 0x200A: case 0x2028: /* <LS> */ case 0x2029: /* <PS> */ + case 0x202F: + case 0x205F: + case 0x3000: case 0xFEFF: /* <BOM> */ trim++; continue; @@ -2448,8 +2463,23 @@ njs_string_prototype_trim(njs_vm_t *vm, case 0x000D: /* <CR> */ case 0x0020: /* <SP> */ case 0x00A0: /* <NBSP> */ + case 0x1680: + case 0x2000: + case 0x2001: + case 0x2002: + case 0x2003: + case 0x2004: + case 0x2005: + case 0x2006: + case 0x2007: + case 0x2008: + case 0x2009: + case 0x200A: case 0x2028: /* <LS> */ case 0x2029: /* <PS> */ + case 0x202F: + case 0x205F: + case 0x3000: case 0xFEFF: /* <BOM> */ trim++; continue; diff -r 575c018f2206 -r ac39f4c902b5 njs/test/njs_unit_test.c --- a/njs/test/njs_unit_test.c Sat Jul 27 21:12:32 2019 +0300 +++ b/njs/test/njs_unit_test.c Sun Jul 28 13:17:13 2019 +0300 @@ -5653,6 +5653,16 @@ static njs_unit_test_t njs_test[] = { nxt_string("'\\u2029abc\\uFEFF\\u2028'.trim()"), nxt_string("abc") }, +#if (!NXT_HAVE_MEMORY_SANITIZER) /* very long test under MSAN */ + { nxt_string("var a = [], code;" + "for (code = 0; code <= 1114111; code++) {" + " var ws = String.fromCodePoint(code);" + " if ((ws + '-' + ws).trim() === '-')" + " a.push(code);" + "} a"), + nxt_string("9,10,11,12,13,32,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288,65279") }, +#endif + { nxt_string("'abcdefgh'.search()"), nxt_string("0") }, _______________________________________________ nginx-devel mailing list nginx-devel@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-devel