X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tests.js;h=35c735e8697b519dfbe4c0c8861b8bd647e4b0e2;hb=c97627faa4496083767edd58c4e3de4d569ad89f;hp=124b6ce685b5cbed506133c6bcce285c7f99eef8;hpb=8a89b9da97e437f9ce9476951896e51a9764800c;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FBIP39.git diff --git a/tests.js b/tests.js index 124b6ce..35c735e 100644 --- a/tests.js +++ b/tests.js @@ -44,6 +44,37 @@ function waitForGenerate(fn, maxTime) { wait(); } +function waitForFeedback(fn, maxTime) { + if (!maxTime) { + maxTime = testMaxTime; + } + var start = new Date().getTime(); + var wait = function keepWaiting() { + var now = new Date().getTime(); + var hasTimedOut = now - start > maxTime; + if (hasTimedOut) { + console.log("Test timed out"); + fn(); + return; + } + var feedback = page.evaluate(function() { + var feedback = $(".feedback"); + if (feedback.css("display") == "none") { + return ""; + } + return feedback.text(); + }); + var hasFinished = feedback.length > 0 && feedback != "Calculating..."; + if (hasFinished) { + fn(); + } + else { + setTimeout(keepWaiting, 100); + } + } + wait(); +} + function next() { if (tests.length > 0) { var testsStr = tests.length == 1 ? "test" : "tests"; @@ -1252,23 +1283,347 @@ page.open(url, function(status) { }, // Additional addresses are shown in order of derivation path +function() { +page.open(url, function(status) { + // set the phrase + page.evaluate(function() { + $(".phrase").val("abandon abandon ability").trigger("input"); + }); + waitForGenerate(function() { + // generate more addresses + page.evaluate(function() { + $(".more").click(); + }); + // get the derivation paths + waitForGenerate(function() { + var paths = page.evaluate(function() { + return $(".index").map(function(i, e) { + return $(e).text(); + }); + }); + if (paths.length != 40) { + console.log("Total additional paths is less than expected: " + paths.length); + fail(); + } + for (var i=0; i