From: James Halliday Date: Thu, 28 Jan 2016 21:54:19 +0000 (-0800) Subject: tests to write {+,-}Infinity to floats, doubles X-Git-Url: https://zoso.dev/?a=commitdiff_plain;h=65f1b2660a47302323ba79fca470409abdd543ee;p=buffer.git tests to write {+,-}Infinity to floats, doubles --- 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() +})