X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tests.js;h=6a7a960b1a027cfe7be1c9d176497e618c584647;hb=24137d96070eb6cb47ef8239738ec6a135f0b675;hp=48e863b5f91759b7cb7b520e38bffc65d54011ed;hpb=6ea15134a4ff5a443d96de5882bcddbe7300fc6f;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FBIP39.git diff --git a/tests.js b/tests.js index 48e863b..6a7a960 100644 --- a/tests.js +++ b/tests.js @@ -607,6 +607,66 @@ page.open(url, function(status) { }); }, +// Network can be set to ethereum +function() { + +page.open(url, function(status) { + + // set the phrase and coin + page.evaluate(function() { + $(".phrase").val("abandon abandon ability"); + $(".phrase").trigger("input"); + $(".network option[selected]").removeAttr("selected"); + $(".network option[value=13]").prop("selected", true); + $(".network").trigger("change"); + }); + waitForGenerate(function() { + // check the address is generated correctly + // this value comes from + // https://www.myetherwallet.com/#view-wallet-info + // I do not understand the capitalization scheme for this hex encoding + var expected = "0xe5815d5902Ad612d49283DEdEc02100Bd44C2772"; + var actual = page.evaluate(function() { + return $(".address:first").text(); + }); + if (actual != expected.toLowerCase()) { + console.log("Ethereum address is incorrect"); + console.log("Expected: " + expected); + console.log("Actual: " + actual); + fail(); + } + // check the private key is correct + // 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 actual = page.evaluate(function() { + return $(".privkey:first").text(); + }); + if (actual != expected) { + console.log("Ethereum privkey is incorrect"); + console.log("Expected: " + expected); + console.log("Actual: " + actual); + fail(); + } + // check the public key is correct + // TODO + // don't have any third-party source to generate the expected value + //var expected = "?"; + //var actual = page.evaluate(function() { + // return $(".pubkey:first").text(); + //}); + //if (actual != expected) { + // console.log("Ethereum privkey is incorrect"); + // console.log("Expected: " + expected); + // console.log("Actual: " + actual); + // fail(); + //} + next(); + }); +}); +}, + // BIP39 seed is set from phrase function() { page.open(url, function(status) { @@ -2268,7 +2328,6 @@ page.open(url, function(status) { // use entropy page.evaluate(function() { $(".use-entropy").prop("checked", true).trigger("change"); - $(".mnemonic-length").val("raw"); $(".entropy").val("00000000 00000000 00000000 00000000").trigger("input"); }); // check the mnemonic is set and address is correct @@ -2804,7 +2863,6 @@ page.open(url, function(status) { // use entropy page.evaluate(function() { $(".use-entropy").prop("checked", true).trigger("change"); - $(".mnemonic-length").val("raw"); }); var nextTest = function runNextTest(i) { function getFeedbackError(expected, actual) { @@ -2886,7 +2944,6 @@ page.open(url, function(status) { // use entropy page.evaluate(function() { $(".use-entropy").prop("checked", true).trigger("change"); - $(".mnemonic-length").val("raw"); var entropy = "00000000 00000000 00000000 00000000"; entropy += "11111111 11111111 11111111 1111"; // Missing last byte $(".entropy").val(entropy).trigger("input"); @@ -2913,7 +2970,6 @@ page.open(url, function(status) { // use entropy page.evaluate(function() { $(".use-entropy").prop("checked", true).trigger("change"); - $(".mnemonic-length").val("raw"); var entropy = ""; // Generate a very long entropy string for (var i=0; i<33; i++) { @@ -2947,7 +3003,6 @@ page.open(url, function(status) { // use entropy page.evaluate(function() { $(".use-entropy").prop("checked", true).trigger("change"); - $(".mnemonic-length").val("raw"); var entropy = "543210543210543210543210543210543210543210543210543210543210543210543210543210543210543210543210543"; $(".entropy").val(entropy).trigger("input"); }); @@ -3039,7 +3094,6 @@ page.open(url, function(status) { // use entropy page.evaluate(function() { $(".use-entropy").prop("checked", true).trigger("change"); - $(".mnemonic-length").val("raw"); $(".entropy").val("7S 9H 9S QH 8C KS AS 7D 7C QD 4S 4D TC 2D 5S JS 3D 8S 8H 4C 3C AC 3S QC 9C JC 7H AD TD JD 6D KH 5C QS 2S 6S 6H JH KD 9D-6C TS TH 4H KC 5H 2H AH 2C 8D 3H 5D").trigger("input"); }); // get the mnemonic @@ -3291,6 +3345,80 @@ page.open(url, function(status) { }); }, +// Github issue 44 +// display error switching tabs while addresses are generating +function() { +page.open(url, function(status) { + // set the phrase + page.evaluate(function() { + $(".phrase").val("abandon abandon ability").trigger("input"); + }); + waitForGenerate(function() { + // set to generate 500 more addresses + // generate more addresses + // change tabs which should cancel the previous generating + page.evaluate(function() { + $(".rows-to-add").val("100"); + $(".more").click(); + $("#bip32-tab a").click(); + }); + // check the derivation paths are in order and of the right quantity + waitForGenerate(function() { + var paths = page.evaluate(function() { + return $(".index").map(function(i, e) { + return $(e).text(); + }); + }); + for (var i=0; i