From a7ab3f2ff1a0486ea73bda63c85e9468b6cca763 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Mon, 31 Dec 2018 19:12:00 -0800 Subject: [PATCH] lib,test: remove lib/internal/test/unicode.js Remove lib/internal/test/unicode.js and associated test. When we added the file and test, only comments in lib had non-ASCII characters. Now, lib/internal/cli_table.js has non-ASCII characters. Tests that exercise the `console.table()` therefore fulfill the need to test non-ASCII characters in built-in modules. PR-URL: https://github.com/nodejs/node/pull/25298 Reviewed-By: Colin Ihrig Reviewed-By: James M Snell --- lib/internal/cli_table.js | 6 ++++++ lib/internal/test/unicode.js | 8 -------- node.gyp | 1 - test/parallel/test-internal-unicode.js | 12 ------------ 4 files changed, 6 insertions(+), 21 deletions(-) delete mode 100644 lib/internal/test/unicode.js delete mode 100644 test/parallel/test-internal-unicode.js diff --git a/lib/internal/cli_table.js b/lib/internal/cli_table.js index f6c711ece8e0ad..71d322ee9eeed1 100644 --- a/lib/internal/cli_table.js +++ b/lib/internal/cli_table.js @@ -4,6 +4,12 @@ const { Buffer } = require('buffer'); const { removeColors } = require('internal/util'); const HasOwnProperty = Function.call.bind(Object.prototype.hasOwnProperty); +// The use of Unicode characters below is the only non-comment use of non-ASCII +// Unicode characters in Node.js built-in modules. If they are ever removed or +// rewritten with \u escapes, then a test will need to be (re-)added to Node.js +// core to verify that Unicode characters work in built-ins. Otherwise, +// consumers using Unicode in _third_party_main.js will run into problems. +// Refs: https://github.com/nodejs/node/issues/10673 const tableChars = { /* eslint-disable node-core/non-ascii-character */ middleMiddle: '─', diff --git a/lib/internal/test/unicode.js b/lib/internal/test/unicode.js deleted file mode 100644 index 451c3c4737898a..00000000000000 --- a/lib/internal/test/unicode.js +++ /dev/null @@ -1,8 +0,0 @@ -'use strict'; - -// This module exists entirely for regression testing purposes. -// See `test/parallel/test-internal-unicode.js`. - -/* eslint-disable node-core/non-ascii-character */ -module.exports = '✓'; -/* eslint-enable node-core/non-ascii-character */ diff --git a/node.gyp b/node.gyp index f41292296af414..035697300a3b61 100644 --- a/node.gyp +++ b/node.gyp @@ -154,7 +154,6 @@ 'lib/internal/socket_list.js', 'lib/internal/test/binding.js', 'lib/internal/test/heap.js', - 'lib/internal/test/unicode.js', 'lib/internal/timers.js', 'lib/internal/tls.js', 'lib/internal/trace_events_async_hooks.js', diff --git a/test/parallel/test-internal-unicode.js b/test/parallel/test-internal-unicode.js deleted file mode 100644 index 0a36309c09f651..00000000000000 --- a/test/parallel/test-internal-unicode.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; -require('../common'); - -// Flags: --expose-internals -// -// This test ensures that UTF-8 characters can be used in core JavaScript -// libraries built into Node's binary. - -const assert = require('assert'); -const character = require('internal/test/unicode'); - -assert.strictEqual(character, '✓');