X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tests.js;h=4f922ce133eafefc5377e76cb1c19d1da6848530;hb=534481b628cd6d9172b236c8b6b4ef7fab4e0f29;hp=6d4702aa0e5a207210f8a90e35c0b7423e94ce63;hpb=81f35b5e6643d9ac046ee8f4a5c3b4308ea03ceb;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FBIP39.git diff --git a/tests.js b/tests.js index 6d4702a..4f922ce 100644 --- 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(); }); @@ -763,7 +822,7 @@ page.open(url, function(status) { $(".phrase").trigger("input"); $(".network option[selected]").removeAttr("selected"); $(".network option").filter(function() { - return $(this).html() == "Slimcoin"; + return $(this).html() == "SLM - Slimcoin"; }).prop("selected", true); $(".network").trigger("change"); }); @@ -793,7 +852,7 @@ page.open(url, function(status) { $(".phrase").trigger("input"); $(".network option[selected]").removeAttr("selected"); $(".network option").filter(function() { - return $(this).html() == "Slimcoin Testnet"; + return $(this).html() == "SLM - Slimcoin Testnet"; }).prop("selected", true); $(".network").trigger("change"); }); @@ -1985,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"); }); @@ -2031,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"); }); @@ -2065,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"); }); @@ -2795,7 +2854,7 @@ page.open(url, function(status) { events: 1, bits: 4, words: 0, - strength: "extremely weak", + strength: "less than a second", }, { entropy: "AAAAAAAA", @@ -2804,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", @@ -2813,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", @@ -2822,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", @@ -2831,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", @@ -2840,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", @@ -2849,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", @@ -2858,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", @@ -2867,7 +2926,7 @@ page.open(url, function(status) { events: 48, bits: 192, words: 18, - strength: "extremely strong", + strength: "centuries", }, { entropy: "7d", @@ -2875,7 +2934,7 @@ page.open(url, function(status) { events: 1, bits: 5, words: 0, - strength: "extremely weak", + strength: "less than a second", }, { entropy: "ac2c3c4c5c6c7c8c9ctcjcqckcad2d3d4d5d6d7d8d9dtdjdqdkdah2h3h4h5h6h7h8h9hthjhqhkhas2s3s4s5s6s7s8s9stsjsqsks", @@ -2883,7 +2942,7 @@ page.open(url, function(status) { events: 52, bits: 225, words: 21, - strength: "extremely strong", + strength: "centuries", }, { entropy: "ac2c3c4c5c6c7c8c9ctcjcqckcad2d3d4d5d6d7d8d9dtdjdqdkdah2h3h4h5h6h7h8h9hthjhqhkhas2s3s4s5s6s7s8s9stsjsqsks3d", @@ -2891,7 +2950,7 @@ page.open(url, function(status) { events: 53, bits: 254, words: 21, - strength: "extremely strong", + strength: "centuries", }, { entropy: "ac2c3c4c5c6c7c8c9ctcjcqckcad2d3d4d5d6d7d8d9dtdjdqdkdah2h3h4h5h6h7h8h9hthjhqhkhas2s3s4s5s6s7s8s9stsjsqs3d4d", @@ -2899,7 +2958,7 @@ page.open(url, function(status) { events: 53, bits: 254, words: 21, - strength: "extremely strong", + strength: "centuries", }, { entropy: "ac2c3c4c5c6c7c8c9ctcjcqckcad2d3d4d5d6d7d8d9dtdjdqdkdah2h3h4h5h6h7h8h9hthjhqhkhas2s3s4s5s6s7s8s9stsjsqs3d4d5d6d", @@ -2907,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 @@ -2917,7 +2976,7 @@ page.open(url, function(status) { events: 104, bits: 499, words: 45, - strength: "extremely strong", + strength: "centuries", }, // Case insensitivity to duplicate cards { @@ -2926,7 +2985,7 @@ page.open(url, function(status) { events: 2, bits: 9, words: 0, - strength: "extremely weak", + strength: "less than a second", }, { entropy: "ASas", @@ -2934,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 { @@ -2943,7 +3002,7 @@ page.open(url, function(status) { events: 51, bits: 221, words: 18, - strength: "extremely strong", + strength: "centuries", }, { entropy: "ac2c3c4c5c6c7c8c tcjcqckcad2d3d4d 6d7d8d9dtdjdqdkdah2h3h4h5h6h7h8h9hthjhqhkhas2s3s4s5s6s7s8s9stsjsqsks", @@ -2951,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", @@ -2959,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 { @@ -2968,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 { @@ -3012,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