]> zoso.dev Git - buffer.git/commitdiff
tests to write {+,-}Infinity to floats, doubles
authorJames Halliday <mail@substack.net>
Thu, 28 Jan 2016 21:54:19 +0000 (13:54 -0800)
committerJames Halliday <mail@substack.net>
Thu, 28 Jan 2016 21:54:23 +0000 (13:54 -0800)
test/write_infinity.js [new file with mode: 0644]

diff --git a/test/write_infinity.js b/test/write_infinity.js
new file mode 100644 (file)
index 0000000..17d606a
--- /dev/null
@@ -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()
+})