diff options
author | Trevor Norris <trev.norris@gmail.com> | 2016-06-02 10:55:36 -0600 |
---|---|---|
committer | Trevor Norris <trev.norris@gmail.com> | 2016-06-07 13:51:14 -0600 |
commit | 54cc7212df320f1e489edf8dbeabb167a71cbe67 (patch) | |
tree | 19764d4f8f0d84373bb9de96844043fad342c9c0 /test/parallel/test-stringbytes-external.js | |
parent | c300ba22128ce8e675650adcd1f6b869dc1b5126 (diff) | |
download | android-node-v8-54cc7212df320f1e489edf8dbeabb167a71cbe67.tar.gz android-node-v8-54cc7212df320f1e489edf8dbeabb167a71cbe67.tar.bz2 android-node-v8-54cc7212df320f1e489edf8dbeabb167a71cbe67.zip |
buffer: introduce latin1 encoding term
When node began using the OneByte API (f150d56) it also switched to
officially supporting ISO-8859-1. Though at the time no new encoding
string was introduced.
Introduce the new encoding string 'latin1' to be more explicit. The
previous 'binary' and documented as an alias to 'latin1'. While many
tests have switched to use 'latin1', there are still plenty that do both
'binary' and 'latin1' checks side-by-side to ensure there is no
regression.
PR-URL: https://github.com/nodejs/node/pull/7111
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'test/parallel/test-stringbytes-external.js')
-rw-r--r-- | test/parallel/test-stringbytes-external.js | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/test/parallel/test-stringbytes-external.js b/test/parallel/test-stringbytes-external.js index 6833223217..ec7ae5aa75 100644 --- a/test/parallel/test-stringbytes-external.js +++ b/test/parallel/test-stringbytes-external.js @@ -11,7 +11,13 @@ var write_str = 'a'; // first do basic checks var b = Buffer.from(write_str, 'ucs2'); -var c = b.toString('binary'); +// first check latin1 +var c = b.toString('latin1'); +assert.equal(b[0], 0x61); +assert.equal(b[1], 0); +assert.equal(ucs2_control, c); +// now check binary +c = b.toString('binary'); assert.equal(b[0], 0x61); assert.equal(b[1], 0); assert.equal(ucs2_control, c); @@ -28,13 +34,20 @@ for (let i = 0; i < b.length; i += 2) { assert.equal(b[i], 0x61); assert.equal(b[i + 1], 0); } + // create another string to create an external string -var b_bin = b.toString('binary'); var b_ucs = b.toString('ucs2'); + +// check control against external binary string +var l_bin = b.toString('latin1'); +assert.equal(ucs2_control, l_bin); + // check control against external binary string +var b_bin = b.toString('binary'); assert.equal(ucs2_control, b_bin); + // create buffer copy from external -var c_bin = Buffer.from(b_bin, 'binary'); +var c_bin = Buffer.from(l_bin, 'latin1'); var c_ucs = Buffer.from(b_ucs, 'ucs2'); // make sure they're the same length assert.equal(c_bin.length, c_ucs.length); @@ -44,8 +57,8 @@ for (let i = 0; i < c_bin.length; i++) { } // check resultant strings assert.equal(c_bin.toString('ucs2'), c_ucs.toString('ucs2')); -assert.equal(c_bin.toString('binary'), ucs2_control); -assert.equal(c_ucs.toString('binary'), ucs2_control); +assert.equal(c_bin.toString('latin1'), ucs2_control); +assert.equal(c_ucs.toString('latin1'), ucs2_control); // now let's test BASE64 and HEX ecoding/decoding |