aboutsummaryrefslogtreecommitdiff
path: root/test/parallel/test-buffer-writedouble.js
diff options
context:
space:
mode:
authorRuben Bridgewater <ruben@bridgewater.de>2018-04-28 01:45:21 +0200
committerRuben Bridgewater <ruben@bridgewater.de>2018-05-07 14:25:04 +0200
commitdf2d73d410e85442b21e148e4e7472975a66e5a4 (patch)
tree274e73369c19b35353bd652c56ee09c7a6bcc289 /test/parallel/test-buffer-writedouble.js
parent186857f15ce239ee16f5ceaeefdb3011f85cb915 (diff)
downloadandroid-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.js17
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)));