X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tests.js;h=316a817e594d9cc38dcc595f2c8d9ef3b7ef7c6f;hb=b18eb97ae367e7eaa276a8ddbaaca3e158cf153d;hp=2e2e38bc7ecd0d642f3da71da3ffb56cb7c4f094;hpb=daab55dc613a1eef22463356eba1a742cb814cb2;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FBIP39.git diff --git a/tests.js b/tests.js index 2e2e38b..316a817 100644 --- a/tests.js +++ b/tests.js @@ -902,6 +902,126 @@ page.open(url, function(status) { }); }, +// Network can be set to myriadcoin +function() { +page.open(url, function(status) { + // set the phrase and coin + var expected = "MJEswvRR46wh9BoiVj9DzKYMBkCramhoBV"; + page.evaluate(function() { + $(".phrase").val("abandon abandon ability"); + $(".phrase").trigger("input"); + $(".network option[selected]").removeAttr("selected"); + $(".network option").filter(function() { + return $(this).html() == "XMY - Myriadcoin"; + }).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("Myriadcoin address is incorrect"); + console.log("Expected: " + expected); + console.log("Actual: " + actual); + fail(); + } + next(); + }); +}); +}, + +// Network can be set to pivx +function() { +page.open(url, function(status) { + // set the phrase and coin + var expected = "DBxgT7faCuno7jmtKuu6KWCiwqsVPqh1tS"; + page.evaluate(function() { + $(".phrase").val("abandon abandon ability"); + $(".phrase").trigger("input"); + $(".network option[selected]").removeAttr("selected"); + $(".network option").filter(function() { + return $(this).html() == "PIVX - PIVX"; + }).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("PIVX address is incorrect"); + console.log("Expected: " + expected); + console.log("Actual: " + actual); + fail(); + } + next(); + }); +}); +}, + +// Network can be set to pivx testnet +function() { +page.open(url, function(status) { + // set the phrase and coin + var expected = "yB5U384n6dGkVE3by5y9VdvHHPwPg68fQj"; + page.evaluate(function() { + $(".phrase").val("abandon abandon ability"); + $(".phrase").trigger("input"); + $(".network option[selected]").removeAttr("selected"); + $(".network option").filter(function() { + return $(this).html() == "PIVX - PIVX 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("PIVX Testnet address is incorrect"); + console.log("Expected: " + expected); + console.log("Actual: " + actual); + fail(); + } + next(); + }); +}); +}, + +// Network can be set to maza +function() { +page.open(url, function(status) { + // set the phrase and coin + var expected = "MGW4Bmi2NEm4PxSjgeFwhP9vg18JHoRnfw"; + page.evaluate(function() { + $(".phrase").val("abandon abandon ability"); + $(".phrase").trigger("input"); + $(".network option[selected]").removeAttr("selected"); + $(".network option").filter(function() { + return $(this).html() == "MAZA - Maza"; + }).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("Maza 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) { @@ -4030,6 +4150,72 @@ page.open(url, function(status) { }); }, +// github issue 43 +// Cleared mnemonic and root key still allows addresses to be generated +// https://github.com/iancoleman/bip39/issues/43 +function() { +page.open(url, function(status) { + // set the phrase + page.evaluate(function() { + $("#bip49-tab a").click(); + $(".phrase").val("abandon abandon ability"); + $(".phrase").trigger("input"); + }); + waitForGenerate(function() { + // clear the mnemonic and root key + page.evaluate(function() { + $(".phrase").val(""); + $(".phrase").trigger("input"); + $(".root-key").val(""); + $(".root-key").trigger("input"); + $(".more").click(); + }); + waitForFeedback(function() { + // check there are no addresses shown + var addressCount = page.evaluate(function() { + return $(".address").length; + }); + if (addressCount != 0) { + console.log("Clearing mnemonic should not allow addresses to be generated"); + fail(); + } + next(); + }); + }); +}); +}, + +// Github issue 95 +// error trying to generate addresses from xpub with hardened derivation +function() { +page.open(url, function(status) { + // set the phrase + page.evaluate(function() { + // Use bip32 tab with hardened addresses + $(".hardened-addresses").prop("checked", true); + $("#bip32-tab a").click(); + // set xpub for account 0 of bip44 for 'abandon abandon ability' + var bip44AccountXpub = "xpub6CzDCPbtLrrn4VpVbyyQLHbdSMpZoHN4iuW64VswCyEpfjM2mJGdaHJ2DyuZwtst96E16VvcERb8BBeJdHSCVmAq9RhtRQg6eAZFrTKCNqf"; + $("#root-key").val(bip44AccountXpub); + $("#root-key").trigger("input"); + }); + waitForFeedback(function() { + // check the error message shows + var expected = "Hardened derivation path is invalid with xpub key"; + var actual = page.evaluate(function() { + return $(".feedback").text(); + }); + if (actual != expected) { + console.log("xpub key with hardened addresses does not show feedback"); + console.log("Expected: " + expected); + console.log("Actual: " + actual); + fail(); + } + next(); + }); +}); +}, + // If you wish to add more tests, do so here... // Here is a blank test template