]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/BIP39.git/blobdiff - tests.js
Test BIP44 purpose field
[perso/Immae/Projets/Cryptomonnaies/BIP39.git] / tests.js
index 099d700ce1ce7e7c4f086355ec3ceb259697c948..435d5eb9b7fb23740f207c332c36ff0728993780 100644 (file)
--- a/tests.js
+++ b/tests.js
@@ -573,7 +573,7 @@ page.open(url, function(status) {
         $(".phrase").val("abandon abandon ability");
         $(".phrase").trigger("input");
     });
-    // check the derivation path of the first address
+    // check the BIP44 extended private key
     waitForGenerate(function() {
         var actual = page.evaluate(function() {
             return $(".extended-priv-key").val();
@@ -590,7 +590,64 @@ page.open(url, function(status) {
 },
 
 // BIP44 extended public key is shown
+function() {
+page.open(url, function(status) {
+    // set the phrase
+    var expected = "xpub6FDKNRvTTLzDmAdpNTc49ia9b4byd6vqCdUa46Fp3vqMcC96uBoufCmZXQLiN5AK3iSCJMhf9gT2sxkpyaPepRuA7W3MujV5tGmF5VfbueM";
+    page.evaluate(function() {
+        $(".phrase").val("abandon abandon ability");
+        $(".phrase").trigger("input");
+    });
+    // check the BIP44 extended public key
+    waitForGenerate(function() {
+        var actual = page.evaluate(function() {
+            return $(".extended-pub-key").val();
+        });
+        if (actual != expected) {
+            console.log("BIP44 extended public key is incorrect");
+            console.log("Expected: " + expected);
+            console.log("Actual: " + actual);
+            fail();
+        }
+        next();
+    });
+});
+},
+
 // BIP44 purpose field changes address list
+function() {
+page.open(url, function(status) {
+    // set the phrase
+    var expected = "1JbDzRJ2cDT8aat2xwKd6Pb2zzavow5MhF";
+    page.evaluate(function() {
+        $(".phrase").val("abandon abandon ability");
+        $(".phrase").trigger("input");
+    });
+    waitForGenerate(function() {
+        // change the bip44 purpose field to 45
+        page.evaluate(function() {
+            $("#bip44 .purpose").val("45");
+            $("#bip44 .purpose").trigger("input");
+        });
+        waitForGenerate(function() {
+            // check the address for the new derivation path
+            var actual = page.evaluate(function() {
+                return $(".address:first").text();
+            });
+            if (actual != expected) {
+                console.log("BIP44 purpose field generates incorrect address");
+                console.log("Expected: " + expected);
+                console.log("Actual: " + actual);
+                fail();
+            }
+            next();
+        });
+    });
+});
+},
+
+// TODO finish these tests
+
 // BIP44 coin field changes address list
 // BIP44 account field changes address list
 // BIP44 external/internal field changes address list