commit 7b4342d46052d439f408380afc9c7d82ea46bff7
parent bf63c98616337735eb3380c9522b9a74cc105d22
Author: finwo <finwo@pm.me>
Date: Wed, 11 Aug 2021 23:39:16 +0200
Added test specific to issue #4
Diffstat:
1 file changed, 25 insertions(+), 0 deletions(-)
diff --git a/test/0007-message-size-limit.js b/test/0007-message-size-limit.js
@@ -0,0 +1,25 @@
+// This test was built based on a user-submitted bug: https://github.com/finwo/supercop/issues/4
+
+const isBuffer = require('is-buffer');
+const crypto = require('crypto');
+const test = require('tape');
+const lib = require('../index');
+
+test('Message size limit',async t => {
+ t.plan(32);
+
+ const seed = crypto.randomBytes(32);
+ const keypair = await lib.createKeyPair(seed);
+
+ // Generates 8 loops, from 800..1500
+ for(let size = 800; size <= 1500; size += 100) {
+ const message = Buffer.alloc(size);
+ const signature_kp = await keypair.sign(message);
+ const signature_lib = await lib.sign(message, keypair.publicKey, keypair.secretKey);
+
+ t.ok(isBuffer(signature_kp) , `kp.sign(${size}) returns buffer`);
+ t.ok(isBuffer(signature_lib) , `lib.sign(${size}) returns buffer`);
+ t.is(signature_kp.length , 64, `kp.sign(${size}) returns buffer of 64 bytes`);
+ t.is(signature_lib.length, 64, `lib.sign(${size}) returns buffer of 64 bytes`);
+ }
+});