From 65f1b2660a47302323ba79fca470409abdd543ee Mon Sep 17 00:00:00 2001 From: James Halliday Date: Thu, 28 Jan 2016 13:54:19 -0800 Subject: [PATCH] tests to write {+,-}Infinity to floats, doubles --- test/write_infinity.js | 45 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 test/write_infinity.js diff --git a/test/write_infinity.js b/test/write_infinity.js new file mode 100644 index 0000000..17d606a --- /dev/null +++ b/test/write_infinity.js @@ -0,0 +1,45 @@ +if (process.env.OBJECT_IMPL) global.TYPED_ARRAY_SUPPORT = false +var B = require('../').Buffer +var test = require('tape') + +test('write/read Infinity as a float', function (t) { + var buf = new B(4) + t.equal(buf.writeFloatBE(Infinity, 0), 4) + t.equal(buf.readFloatBE(0), Infinity) + t.end() +}) + +test('write/read -Infinity as a float', function (t) { + var buf = new B(4) + t.equal(buf.writeFloatBE(-Infinity, 0), 4) + t.equal(buf.readFloatBE(0), -Infinity) + t.end() +}) + +test('write/read Infinity as a double', function (t) { + var buf = new B(8) + t.equal(buf.writeDoubleBE(Infinity, 0), 8) + t.equal(buf.readDoubleBE(0), Infinity) + t.end() +}) + +test('write/read -Infinity as a double', function (t) { + var buf = new B(8) + t.equal(buf.writeDoubleBE(-Infinity, 0), 8) + t.equal(buf.readDoubleBE(0), -Infinity) + t.end() +}) + +test('write/read float greater than max', function (t) { + var buf = new B(4) + t.equal(buf.writeFloatBE(4e38, 0), 4) + t.equal(buf.readFloatBE(0), Infinity) + t.end() +}) + +test('write/read float less than min', function (t) { + var buf = new B(4) + t.equal(buf.writeFloatBE(-4e40, 0), 4) + t.equal(buf.readFloatBE(0), -Infinity) + t.end() +}) -- 2.34.1