]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/BIP39.git/blobdiff - tests.js
Merge pull request #81 from mikeyb/naming
[perso/Immae/Projets/Cryptomonnaies/BIP39.git] / tests.js
index e6bd9c5ffa9c90d92a3362a05fe87823bf90478d..4f922ce133eafefc5377e76cb1c19d1da6848530 100644 (file)
--- a/tests.js
+++ b/tests.js
@@ -281,7 +281,7 @@ page.open(url, function(status) {
         $(".phrase").trigger("input");
         $(".network option[selected]").removeAttr("selected");
         $(".network option").filter(function() {
-            return $(this).html() == "Bitcoin Testnet";
+            return $(this).html() == "BTC - Bitcoin Testnet";
         }).prop("selected", true);
         $(".network").trigger("change");
     });
@@ -311,7 +311,7 @@ page.open(url, function(status) {
         $(".phrase").trigger("input");
         $(".network option[selected]").removeAttr("selected");
         $(".network option").filter(function() {
-            return $(this).html() == "Litecoin";
+            return $(this).html() == "LTC - Litecoin";
         }).prop("selected", true);
         $(".network").trigger("change");
     });
@@ -341,7 +341,7 @@ page.open(url, function(status) {
         $(".phrase").trigger("input");
         $(".network option[selected]").removeAttr("selected");
         $(".network option").filter(function() {
-            return $(this).html() == "Ripple";
+            return $(this).html() == "XRP - Ripple";
         }).prop("selected", true);
         $(".network").trigger("change");
     });
@@ -351,7 +351,7 @@ page.open(url, function(status) {
             return $(".address:first").text();
         });
         if (actual != expected) {
-            console.log("Litecoin address is incorrect");
+            console.log("Ripple address is incorrect");
             console.log("Expected: " + expected);
             console.log("Actual: " + actual);
             fail();
@@ -371,7 +371,7 @@ page.open(url, function(status) {
         $(".phrase").trigger("input");
         $(".network option[selected]").removeAttr("selected");
         $(".network option").filter(function() {
-            return $(this).html() == "Dogecoin";
+            return $(this).html() == "DOGE - Dogecoin";
         }).prop("selected", true);
         $(".network").trigger("change");
     });
@@ -401,7 +401,7 @@ page.open(url, function(status) {
         $(".phrase").trigger("input");
         $(".network option[selected]").removeAttr("selected");
         $(".network option").filter(function() {
-            return $(this).html() == "ShadowCash";
+            return $(this).html() == "SDC - ShadowCash";
         }).prop("selected", true);
         $(".network").trigger("change");
     });
@@ -431,7 +431,7 @@ page.open(url, function(status) {
         $(".phrase").trigger("input");
         $(".network option[selected]").removeAttr("selected");
         $(".network option").filter(function() {
-            return $(this).html() == "ShadowCash Testnet";
+            return $(this).html() == "SDC - ShadowCash Testnet";
         }).prop("selected", true);
         $(".network").trigger("change");
     });
@@ -461,7 +461,7 @@ page.open(url, function(status) {
         $(".phrase").trigger("input");
         $(".network option[selected]").removeAttr("selected");
         $(".network option").filter(function() {
-            return $(this).html() == "Viacoin";
+            return $(this).html() == "VIA - Viacoin";
         }).prop("selected", true);
         $(".network").trigger("change");
     });
@@ -491,7 +491,7 @@ page.open(url, function(status) {
         $(".phrase").trigger("input");
         $(".network option[selected]").removeAttr("selected");
         $(".network option").filter(function() {
-            return $(this).html() == "Viacoin Testnet";
+            return $(this).html() == "VIA - Viacoin Testnet";
         }).prop("selected", true);
         $(".network").trigger("change");
     });
@@ -521,7 +521,7 @@ page.open(url, function(status) {
         $(".phrase").trigger("input");
         $(".network option[selected]").removeAttr("selected");
         $(".network option").filter(function() {
-            return $(this).html() == "Jumbucks";
+            return $(this).html() == "JBS - Jumbucks";
         }).prop("selected", true);
         $(".network").trigger("change");
     });
@@ -551,7 +551,7 @@ page.open(url, function(status) {
         $(".phrase").trigger("input");
         $(".network option[selected]").removeAttr("selected");
         $(".network option").filter(function() {
-            return $(this).html() == "CLAM";
+            return $(this).html() == "CLAM - Clams";
         }).prop("selected", true);
         $(".network").trigger("change");
     });
@@ -571,6 +571,36 @@ page.open(url, function(status) {
 });
 },
 
+// Network can be set to crown
+function() {
+page.open(url, function(status) {
+    // set the phrase and coin
+    var expected = "18pWSwSUAQdiwMHUfFZB1fM2xue9X1FqE5";
+    page.evaluate(function() {
+        $(".phrase").val("abandon abandon ability");
+        $(".phrase").trigger("input");
+        $(".network option[selected]").removeAttr("selected");
+        $(".network option").filter(function() {
+            return $(this).html() == "CRW - Crown";
+        }).prop("selected", true);
+        $(".network").trigger("change");
+    });
+    // check the address is generated correctly
+    waitForGenerate(function() {
+        var actual = page.evaluate(function() {
+            return $(".address:first").text();
+        });
+        if (actual != expected) {
+            console.log("CRW address is incorrect");
+            console.log("Expected: " + expected);
+            console.log("Actual: " + actual);
+            fail();
+        }
+        next();
+    });
+});
+},
+
 // Network can be set to dash
 function() {
 page.open(url, function(status) {
@@ -581,7 +611,7 @@ page.open(url, function(status) {
         $(".phrase").trigger("input");
         $(".network option[selected]").removeAttr("selected");
         $(".network option").filter(function() {
-            return $(this).html() == "DASH";
+            return $(this).html() == "DASH - Dash";
         }).prop("selected", true);
         $(".network").trigger("change");
     });
@@ -601,6 +631,35 @@ page.open(url, function(status) {
 });
 },
 
+function() {
+page.open(url, function(status) {
+    // set the phrase and coin
+    var expected = "yaR52EN4oojdJfBgzWJTymC4uuCLPT29Gw";
+    page.evaluate(function() {
+        $(".phrase").val("abandon abandon ability");
+        $(".phrase").trigger("input");
+        $(".network option[selected]").removeAttr("selected");
+        $(".network option").filter(function() {
+            return $(this).html() == "DASH - Dash Testnet";
+        }).prop("selected", true);
+        $(".network").trigger("change");
+    });
+    // check the address is generated correctly
+    waitForGenerate(function() {
+        var actual = page.evaluate(function() {
+            return $(".address:first").text();
+        });
+        if (actual != expected) {
+            console.log("DASH Testnet address is incorrect");
+            console.log("Expected: " + expected);
+            console.log("Actual: " + actual);
+            fail();
+        }
+        next();
+    });
+});
+},
+
 // Network can be set to game
 function() {
 page.open(url, function(status) {
@@ -611,7 +670,7 @@ page.open(url, function(status) {
         $(".phrase").trigger("input");
         $(".network option[selected]").removeAttr("selected");
         $(".network option").filter(function() {
-            return $(this).html() == "GAME";
+            return $(this).html() == "GAME - GameCredits";
         }).prop("selected", true);
         $(".network").trigger("change");
     });
@@ -641,7 +700,7 @@ page.open(url, function(status) {
         $(".phrase").trigger("input");
         $(".network option[selected]").removeAttr("selected");
         $(".network option").filter(function() {
-            return $(this).html() == "Namecoin";
+            return $(this).html() == "NMC - Namecoin";
         }).prop("selected", true);
         $(".network").trigger("change");
     });
@@ -671,7 +730,7 @@ page.open(url, function(status) {
         $(".phrase").trigger("input");
         $(".network option[selected]").removeAttr("selected");
         $(".network option").filter(function() {
-            return $(this).html() == "Peercoin";
+            return $(this).html() == "PPC - Peercoin";
         }).prop("selected", true);
         $(".network").trigger("change");
     });
@@ -702,7 +761,7 @@ page.open(url, function(status) {
         $(".phrase").trigger("input");
         $(".network option[selected]").removeAttr("selected");
         $(".network option").filter(function() {
-            return $(this).html() == "Ethereum";
+            return $(this).html() == "ETH - Ethereum";
         }).prop("selected", true);
         $(".network").trigger("change");
     });
@@ -725,7 +784,7 @@ page.open(url, function(status) {
         // this private key can be imported into
         // https://www.myetherwallet.com/#view-wallet-info
         // and it should correlate to the address above
-        var expected = "8f253078b73d7498302bb78c171b23ce7a8fb511987d2b2702b731638a4a15e7";
+        var expected = "0x8f253078b73d7498302bb78c171b23ce7a8fb511987d2b2702b731638a4a15e7";
         var actual = page.evaluate(function() {
             return $(".privkey:first").text();
         });
@@ -753,6 +812,66 @@ page.open(url, function(status) {
 });
 },
 
+// Network can be set to Slimcoin
+function() {
+page.open(url, function(status) {
+    // set the phrase and coin
+    var expected = "SNzPi1CafHFm3WWjRo43aMgiaEEj3ogjww";
+    page.evaluate(function() {
+        $(".phrase").val("abandon abandon ability");
+        $(".phrase").trigger("input");
+        $(".network option[selected]").removeAttr("selected");
+        $(".network option").filter(function() {
+            return $(this).html() == "SLM - Slimcoin";
+        }).prop("selected", true);
+        $(".network").trigger("change");
+    });
+    // check the address is generated correctly
+    waitForGenerate(function() {
+        var actual = page.evaluate(function() {
+            return $(".address:first").text();
+        });
+        if (actual != expected) {
+            console.log("Slimcoin address is incorrect");
+            console.log("Expected: " + expected);
+            console.log("Actual: " + actual);
+            fail();
+        }
+        next();
+    });
+});
+},
+
+// Network can be set to Slimcointn
+function() {
+page.open(url, function(status) {
+    // set the phrase and coin
+    var expected = "n3nMgWufTek5QQAr6uwMhg5xbzj8xqc4Dq";
+    page.evaluate(function() {
+        $(".phrase").val("abandon abandon ability");
+        $(".phrase").trigger("input");
+        $(".network option[selected]").removeAttr("selected");
+        $(".network option").filter(function() {
+            return $(this).html() == "SLM - Slimcoin Testnet";
+        }).prop("selected", true);
+        $(".network").trigger("change");
+    });
+    // check the address is generated correctly
+    waitForGenerate(function() {
+        var actual = page.evaluate(function() {
+            return $(".address:first").text();
+        });
+        if (actual != expected) {
+            console.log("Slimcoin testnet address is incorrect");
+            console.log("Expected: " + expected);
+            console.log("Actual: " + actual);
+            fail();
+        }
+        next();
+    });
+});
+},
+
 // BIP39 seed is set from phrase
 function() {
 page.open(url, function(status) {
@@ -1925,7 +2044,7 @@ page.open(url, function(status) {
             // 4) switch from bitcoin to litecoin
             page.evaluate(function() {
                 $(".network option").filter(function() {
-                    return $(this).html() == "Litecoin";
+                    return $(this).html() == "LTC - Litecoin";
                 }).prop("selected", true);
                 $(".network").trigger("change");
             });
@@ -1971,7 +2090,7 @@ page.open(url, function(status) {
         // switch from bitcoin to clam
         page.evaluate(function() {
             $(".network option").filter(function() {
-                return $(this).html() == "CLAM";
+                return $(this).html() == "CLAM - Clams";
             }).prop("selected", true);
             $(".network").trigger("change");
         });
@@ -2005,7 +2124,7 @@ page.open(url, function(status) {
         // 4) switch from bitcoin to viacoin
         page.evaluate(function() {
             $(".network option").filter(function() {
-                return $(this).html() == "Viacoin";
+                return $(this).html() == "VIA - Viacoin";
             }).prop("selected", true);
             $(".network").trigger("change");
         });
@@ -2735,7 +2854,7 @@ page.open(url, function(status) {
             events: 1,
             bits: 4,
             words: 0,
-            strength: "extremely weak",
+            strength: "less than a second",
         },
         {
             entropy: "AAAAAAAA",
@@ -2744,7 +2863,7 @@ page.open(url, function(status) {
             events: 8,
             bits: 32,
             words: 3,
-            strength: "extremely weak",
+            strength: "less than a second - Repeats like \"aaa\" are easy to guess",
         },
         {
             entropy: "AAAAAAAA B",
@@ -2753,7 +2872,7 @@ page.open(url, function(status) {
             events: 9,
             bits: 36,
             words: 3,
-            strength: "extremely weak",
+            strength: "less than a second - Repeats like \"aaa\" are easy to guess",
         },
         {
             entropy: "AAAAAAAA BBBBBBBB",
@@ -2762,7 +2881,7 @@ page.open(url, function(status) {
             events: 16,
             bits: 64,
             words: 6,
-            strength: "very weak",
+            strength: "less than a second - Repeats like \"aaa\" are easy to guess",
         },
         {
             entropy: "AAAAAAAA BBBBBBBB CCCCCCCC",
@@ -2771,7 +2890,7 @@ page.open(url, function(status) {
             events: 24,
             bits: 96,
             words: 9,
-            strength: "weak",
+            strength: "less than a second",
         },
         {
             entropy: "AAAAAAAA BBBBBBBB CCCCCCCC DDDDDDDD",
@@ -2780,7 +2899,7 @@ page.open(url, function(status) {
             events: 32,
             bits: 128,
             words: 12,
-            strength: "easily cracked",
+            strength: "2 minutes",
         },
         {
             entropy: "AAAAAAAA BBBBBBBB CCCCCCCC DDDDDDDA",
@@ -2789,7 +2908,7 @@ page.open(url, function(status) {
             events: 32,
             bits: 128,
             words: 12,
-            strength: "strong",
+            strength: "2 days",
         },
         {
             entropy: "AAAAAAAA BBBBBBBB CCCCCCCC DDDDDDDA EEEEEEEE",
@@ -2798,7 +2917,7 @@ page.open(url, function(status) {
             events: 40,
             bits: 160,
             words: 15,
-            strength: "very strong",
+            strength: "3 years",
         },
         {
             entropy: "AAAAAAAA BBBBBBBB CCCCCCCC DDDDDDDA EEEEEEEE FFFFFFFF",
@@ -2807,7 +2926,7 @@ page.open(url, function(status) {
             events: 48,
             bits: 192,
             words: 18,
-            strength: "extremely strong",
+            strength: "centuries",
         },
         {
             entropy: "7d",
@@ -2815,7 +2934,7 @@ page.open(url, function(status) {
             events: 1,
             bits: 5,
             words: 0,
-            strength: "extremely weak",
+            strength: "less than a second",
         },
         {
             entropy: "ac2c3c4c5c6c7c8c9ctcjcqckcad2d3d4d5d6d7d8d9dtdjdqdkdah2h3h4h5h6h7h8h9hthjhqhkhas2s3s4s5s6s7s8s9stsjsqsks",
@@ -2823,7 +2942,7 @@ page.open(url, function(status) {
             events: 52,
             bits: 225,
             words: 21,
-            strength: "extremely strong",
+            strength: "centuries",
         },
         {
             entropy: "ac2c3c4c5c6c7c8c9ctcjcqckcad2d3d4d5d6d7d8d9dtdjdqdkdah2h3h4h5h6h7h8h9hthjhqhkhas2s3s4s5s6s7s8s9stsjsqsks3d",
@@ -2831,7 +2950,7 @@ page.open(url, function(status) {
             events: 53,
             bits: 254,
             words: 21,
-            strength: "extremely strong",
+            strength: "centuries",
         },
         {
             entropy: "ac2c3c4c5c6c7c8c9ctcjcqckcad2d3d4d5d6d7d8d9dtdjdqdkdah2h3h4h5h6h7h8h9hthjhqhkhas2s3s4s5s6s7s8s9stsjsqs3d4d",
@@ -2839,7 +2958,7 @@ page.open(url, function(status) {
             events: 53,
             bits: 254,
             words: 21,
-            strength: "extremely strong",
+            strength: "centuries",
         },
         {
             entropy: "ac2c3c4c5c6c7c8c9ctcjcqckcad2d3d4d5d6d7d8d9dtdjdqdkdah2h3h4h5h6h7h8h9hthjhqhkhas2s3s4s5s6s7s8s9stsjsqs3d4d5d6d",
@@ -2847,7 +2966,7 @@ page.open(url, function(status) {
             events: 53,
             bits: 264,
             words: 24,
-            strength: "extremely strong",
+            strength: "centuries",
         },
         // Next test was throwing uncaught error in zxcvbn
         // Also tests 451 bits, ie Math.log2(52!)*2 = 225.58 * 2
@@ -2857,7 +2976,7 @@ page.open(url, function(status) {
             events: 104,
             bits: 499,
             words: 45,
-            strength: "extremely strong",
+            strength: "centuries",
         },
         // Case insensitivity to duplicate cards
         {
@@ -2866,7 +2985,7 @@ page.open(url, function(status) {
             events: 2,
             bits: 9,
             words: 0,
-            strength: "extremely weak",
+            strength: "less than a second",
         },
         {
             entropy: "ASas",
@@ -2874,7 +2993,7 @@ page.open(url, function(status) {
             events: 2,
             bits: 9,
             words: 0,
-            strength: "extremely weak",
+            strength: "less than a second",
         },
         // Missing cards are detected
         {
@@ -2883,7 +3002,7 @@ page.open(url, function(status) {
             events: 51,
             bits: 221,
             words: 18,
-            strength: "extremely strong",
+            strength: "centuries",
         },
         {
             entropy: "ac2c3c4c5c6c7c8c  tcjcqckcad2d3d4d  6d7d8d9dtdjdqdkdah2h3h4h5h6h7h8h9hthjhqhkhas2s3s4s5s6s7s8s9stsjsqsks",
@@ -2891,7 +3010,7 @@ page.open(url, function(status) {
             events: 50,
             bits: 216,
             words: 18,
-            strength: "extremely strong",
+            strength: "centuries",
         },
         {
             entropy: "ac2c3c4c5c6c7c8c  tcjcqckcad2d3d4d  6d7d8d9dtdjd  kdah2h3h  5h6h7h8h9hthjhqhkhas2s3s4s5s6s7s8s9stsjsqsks",
@@ -2899,7 +3018,7 @@ page.open(url, function(status) {
             events: 48,
             bits: 208,
             words: 18,
-            strength: "extremely strong",
+            strength: "centuries",
         },
         // More than six missing cards does not show message
         {
@@ -2908,7 +3027,7 @@ page.open(url, function(status) {
             events: 45,
             bits: 195,
             words: 18,
-            strength: "extremely strong",
+            strength: "centuries",
         },
         // Multiple decks of cards increases bits per event
         {
@@ -2952,7 +3071,7 @@ page.open(url, function(status) {
             events: 33,
             bits: 184,
             bitsPerEvent: 5.59,
-            strength: 'easily cracked - Repeats like "abcabcabc" are only slightly harder to guess than "abc"',
+            strength: 'less than a second - Repeats like "abcabcabc" are only slightly harder to guess than "abc"',
         },
     ];
     // use entropy