diff options
author | Ruben Bridgewater <ruben@bridgewater.de> | 2018-04-28 01:45:21 +0200 |
---|---|---|
committer | Ruben Bridgewater <ruben@bridgewater.de> | 2018-05-07 14:25:04 +0200 |
commit | df2d73d410e85442b21e148e4e7472975a66e5a4 (patch) | |
tree | 274e73369c19b35353bd652c56ee09c7a6bcc289 /test/parallel/test-buffer-writedouble.js | |
parent | 186857f15ce239ee16f5ceaeefdb3011f85cb915 (diff) | |
download | android-node-v8-df2d73d410e85442b21e148e4e7472975a66e5a4.tar.gz android-node-v8-df2d73d410e85442b21e148e4e7472975a66e5a4.tar.bz2 android-node-v8-df2d73d410e85442b21e148e4e7472975a66e5a4.zip |
test: fix buffer writes on mips
Mips has a different way of handling NaN. This makes sure the tests
pass on MIPS as well.
PR-URL: https://github.com/nodejs/node/pull/20377
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Diffstat (limited to 'test/parallel/test-buffer-writedouble.js')
-rw-r--r-- | test/parallel/test-buffer-writedouble.js | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/test/parallel/test-buffer-writedouble.js b/test/parallel/test-buffer-writedouble.js index 0dc26dbd3b..8a17d53690 100644 --- a/test/parallel/test-buffer-writedouble.js +++ b/test/parallel/test-buffer-writedouble.js @@ -67,10 +67,19 @@ assert.strictEqual(buffer.readDoubleLE(8), -Infinity); buffer.writeDoubleBE(NaN, 0); buffer.writeDoubleLE(NaN, 8); -assert.ok(buffer.equals(new Uint8Array([ - 0x7F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x7F -]))); +// JS only knows a single NaN but there exist two platform specific +// implementations. Therefore, allow both quiet and signalling NaNs. +if (buffer[1] === 0xF7) { + assert.ok(buffer.equals(new Uint8Array([ + 0x7F, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x7F + ]))); +} else { + assert.ok(buffer.equals(new Uint8Array([ + 0x7F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x7F + ]))); +} assert.ok(Number.isNaN(buffer.readDoubleBE(0))); assert.ok(Number.isNaN(buffer.readDoubleLE(8))); |