]> zoso.dev Git - nano-pow.git/commitdiff
Add more tests for checking validation.
authorChris Duncan <chris@zoso.dev>
Wed, 26 Feb 2025 20:42:38 +0000 (12:42 -0800)
committerChris Duncan <chris@zoso.dev>
Wed, 26 Feb 2025 20:42:38 +0000 (12:42 -0800)
test.html

index 4a1bfa9cefcd7a4f3d376974bbd8eb9b28389998..f4158eb781b41f6a1753a09153691c188bbb2fd9 100644 (file)
--- a/test.html
+++ b/test.html
@@ -73,23 +73,41 @@ SPDX-License-Identifier: GPL-3.0-or-later
                        document.getElementById('status').innerHTML = `TESTING IN PROGRESS 0/${size}`
                        console.log(`%cNanoPow`, 'color:green', 'Checking validate()')
 
-                       const expectFalse = await NanoPow.validate('0000000000000000', '0000000000000000000000000000000000000000000000000000000000000000')
-                       console.log(`validate() output for bad nonce is ${expectFalse === false ? 'correct' : 'incorrect'}`)
-                       const expectTrue = await NanoPow.validate('47c83266398728cf', '92BA74A7D6DC7557F3EDA95ADC6341D51AC777A0A6FF0688A5C492AB2B2CB40D')
-                       console.log(`validate() output for good nonce is ${expectTrue === true ? 'correct' : 'incorrect'}`)
-                       const expectFalseForVariation = await NanoPow.validate('47c83266398728ce', '92BA74A7D6DC7557F3EDA95ADC6341D51AC777A0A6FF0688A5C492AB2B2CB40D')
-                       console.log(`validate() output for slightly wrong nonce is ${expectFalseForVariation === false ? 'correct' : 'incorrect'}`)
-                       const expectTrueForCollision = await NanoPow.validate('c5d5d6f7c5d6ccd1', '281e89ac73b1082b464b9c3c1168384f846d39f6df25105f8b4a22915e999117')
-                       console.log(`validate() output for colliding nonce is ${expectTrueForCollision === true ? 'correct' : 'incorrect'}`)
+                       const expect = []
+                       let result
+
+                       result = await NanoPow.validate('47c83266398728cf', '92BA74A7D6DC7557F3EDA95ADC6341D51AC777A0A6FF0688A5C492AB2B2CB40D', { debug: true })
+                       console.log(`validate() output for good nonce 1 is ${result === true ? 'correct' : 'incorrect'}`)
+                       expect.push(result === true)
+
+                       result = await NanoPow.validate('4a8fb104eebbd336', '8797585D56B8AEA3A62899C31FC088F9BE849BA8298A88E94F6E3112D4E55D01', { debug: true })
+                       console.log(`validate() output for good nonce 2 is ${result === true ? 'correct' : 'incorrect'}`)
+                       expect.push(result === true)
+
+                       result = await NanoPow.validate('c5d5d6f7c5d6ccd1', '281E89AC73B1082B464B9C3C1168384F846D39F6DF25105F8B4A22915E999117', { debug: true })
+                       console.log(`validate() output for colliding nonce is ${result === true ? 'correct' : 'incorrect'}`)
+                       expect.push(result === true)
+
+                       result = await NanoPow.validate('0000000000000000', '0000000000000000000000000000000000000000000000000000000000000000', { debug: true })
+                       console.log(`validate() output for bad nonce 1 is ${result === false ? 'correct' : 'incorrect'}`)
+                       expect.push(result === false)
+
+                       result = await NanoPow.validate('c5d5d6f7c5d6ccd1', 'BA1E946BA3D778C2F30A83D44D2132CC6EEF010D8D06FF10A8ABD0100D8FB47E', { debug: true })
+                       console.log(`validate() output for bad nonce 2 is ${result === false ? 'correct' : 'incorrect'}`)
+                       expect.push(result === false)
+
+                       result = await NanoPow.validate('47c83266398728ce', '92BA74A7D6DC7557F3EDA95ADC6341D51AC777A0A6FF0688A5C492AB2B2CB40D', { debug: true })
+                       console.log(`validate() output for slightly wrong nonce is ${result === false ? 'correct' : 'incorrect'}`)
+                       expect.push(result === false)
+
 
                        try {
-                               if (expectFalse || !expectTrue) throw new Error(`Validation is not working`)
+                               if (!expect.every(result => result)) throw new Error(`Validation is not working`)
                        } catch (err) {
                                document.getElementById('output').innerHTML += `Error: ${err.message}<br/>`
                                console.error(err)
                                return
                        }
-
                        console.log(`%cNanoPow (${type})`, 'color:green', `Calculate proof-of-work for ${size} unique send block hashes`)
                        const times = []
                        for (let i = 0; i < size; i++) {