X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tests%2Fspec%2Ftests.js;h=9e780162c73e65ff8b8cf7ec567128669c16fb7b;hb=048721a6ff08555de71626d9868aa5054b46cfda;hp=a4863b042f21267826bb02292cf7faae4a9ef0c7;hpb=5c1003dde3b4f06f22902da58a7ce78c9eae34dd;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FBIP39.git diff --git a/tests/spec/tests.js b/tests/spec/tests.js index a4863b0..9e78016 100644 --- a/tests/spec/tests.js +++ b/tests/spec/tests.js @@ -30,9 +30,10 @@ var until = webdriver.until; var newDriver = null; var driver = null; // Delays in ms -var generateDelay = 1000; +var generateDelay = 1500; var feedbackDelay = 500; var entropyFeedbackDelay = 500; +var bip38delay = 15000; // url uses file:// scheme var path = require('path') @@ -422,6 +423,13 @@ it('Allows selection of dogecoin', function(done) { }; testNetwork(done, params); }); +it('Allows selection of denarius', function(done) { + var params = { + selectText: "DNR - Denarius", + firstAddress: "D9feDKo88SHir79b2Kqhk7JAtaddmxDjNV", + }; + testNetwork(done, params); +}); it('Allows selection of shadowcash', function(done) { var params = { selectText: "SDC - ShadowCash", @@ -605,6 +613,20 @@ it('Allows selection of monacoin', function(done) { }; testNetwork(done, params); }); +it('Allows selection of AXE', function(done) { + var params = { + selectText: "AXE - Axe", + firstAddress: "XQ4HLxUVS3egk5ff1o9e2vJFJKSSsUH3B7", + }; + testNetwork(done, params); +}); +it('Allows selection of BlackCoin', function(done) { + var params = { + selectText: "BLK - BlackCoin", + firstAddress: "B5MznAKwj7uQ42vDz3w4onhBXPcqhTwJ9z", + }; + testNetwork(done, params); +}); // BIP39 seed is set from phrase it('Sets the bip39 seed from the prhase', function(done) { @@ -933,13 +955,13 @@ it('Can generate more rows in the table', function(done) { // A custom number of additional addresses can be generated it('Can generate more rows in the table', function(done) { - driver.findElement(By.css('.rows-to-add')) - .clear(); - driver.findElement(By.css('.rows-to-add')) - .sendKeys('1'); driver.findElement(By.css('.phrase')) .sendKeys('abandon abandon ability'); driver.sleep(generateDelay).then(function() { + driver.findElement(By.css('.rows-to-add')) + .clear(); + driver.findElement(By.css('.rows-to-add')) + .sendKeys('1'); driver.findElement(By.css('.more')) .click(); driver.sleep(generateDelay).then(function() { @@ -2159,10 +2181,11 @@ it('Can change details while old addresses are still being generated', function( driver.findElement(By.css('.phrase')) .sendKeys("abandon abandon ability"); driver.sleep(generateDelay).then(function() { - // generate more addresses - driver.findElement(By.css('.more')) - .click(); // change tabs which should cancel the previous generating + driver.findElement(By.css('.rows-to-add')) + .clear(); + driver.findElement(By.css('.rows-to-add')) + .sendKeys('20'); driver.findElement(By.css('#bip32-tab a')) .click() driver.sleep(generateDelay).then(function() { @@ -2175,7 +2198,7 @@ it('Can change details while old addresses are still being generated', function( }); }); }); -}); +}, generateDelay + 5000); // Github issue 49 // padding for binary should give length with multiple of 256 @@ -2850,4 +2873,53 @@ it('Can display the table as csv', function(done) { }); }); +it('LeftPads ethereum keys that are less than 32 bytes', function(done) { + // see https://github.com/iancoleman/bip39/issues/155 + selectNetwork("ETH - Ethereum"); + driver.findElement(By.css('#bip32-tab a')) + .click() + driver.findElement(By.css('#bip32-path')) + .clear(); + driver.findElement(By.css('#bip32-path')) + .sendKeys("m/44'/60'/0'"); + driver.findElement(By.css('.phrase')) + .sendKeys('scout sort custom elite radar rare vivid thing trophy gesture cover snake change narrow kite list nation sustain buffalo erode open balance system young'); + driver.sleep(generateDelay).then(function() { + getFirstAddress(function(address) { + expect(address).toBe("0x8943E785B4a5714FC87a3aFAad1eB1FeB602B118"); + done(); + }); + }); +}); + +it('Can encrypt private keys using BIP38', function(done) { + // see https://github.com/iancoleman/bip39/issues/140 + driver.executeScript(function() { + $(".use-bip38").prop("checked", true); + }); + driver.findElement(By.css('.bip38-password')) + .sendKeys('bip38password'); + driver.findElement(By.css('.rows-to-add')) + .clear(); + driver.findElement(By.css('.rows-to-add')) + .sendKeys('1'); + driver.findElement(By.css('.phrase')) + .sendKeys('abandon abandon ability'); + driver.sleep(bip38delay).then(function() { + // address + getFirstRowValue(function(address) { + expect(address).toBe("1NCvSdumA3ngMM9c4aqU56AM6rqXddfuXB"); + // pubkey + getFirstRowValue(function(pubkey) { + expect(pubkey).toBe("043f5aed5f6cfbafaf223188095b5980814897295f723815fea5d3f4b648d0d0b3884a74447ea901729b1e73a999b7520e7cb55b4120e6432c64153ccab8a848e1"); + // privkey + getFirstRowValue(function(privkey) { + expect(privkey).toBe("6PRNRiFnj1RoR3sXhymdCvoZCgnUHQpfupNdKkFbWJkwWQEKesWt1EDMDM"); + done(); + }, ".privkey"); + }, ".pubkey"); + }, ".address"); + }); +}, bip38delay + 5000); + });