X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tests%2Fspec%2Ftests.js;h=6b73c74a5677eeb38e549c084ac106bceabbf51f;hb=3799728c76fd127798fcdd185507b954bea12ebd;hp=590f4e379114175f4a06e28e9d331f3214c7b81c;hpb=d2ba387163f7ea240b7a80b78783f1c5047b6f1a;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FBIP39.git diff --git a/tests/spec/tests.js b/tests/spec/tests.js index 590f4e3..6b73c74 100644 --- a/tests/spec/tests.js +++ b/tests/spec/tests.js @@ -73,16 +73,23 @@ else if (browser == "chrome") { // Helper functions -function testNetwork(done, params) { +function testNetwork(done, params, comparePub = false) { var phrase = params.phrase || 'abandon abandon ability'; driver.findElement(By.css('.phrase')) .sendKeys(phrase); selectNetwork(params.selectText); driver.sleep(generateDelay).then(function() { - getFirstAddress(function(address) { - expect(address).toBe(params.firstAddress); - done(); - }); + if (!comparePub) { + getFirstAddress(function(address) { + expect(address).toBe(params.firstAddress); + done(); + }); + } else { + getFirstPublicKey(function(pubkey) { + expect(pubkey).toBe(params.firstPubKey); + done(); + }); + } }); } @@ -98,6 +105,10 @@ function getFirstAddress(handler) { getFirstRowValue(handler, ".address"); } +function getFirstPublicKey(handler) { + getFirstRowValue(handler, ".pubkey"); +} + function getFirstPath(handler) { getFirstRowValue(handler, ".index"); } @@ -408,6 +419,13 @@ it('Allows selection of litecoin', function(done) { }; testNetwork(done, params); }); +it('Allows selection of litecoin testnet', function(done) { + var params = { + selectText: "LTCt - Litecoin Testnet", + firstAddress: "mucaU5iiDaJDb69BHLeDv8JFfGiyg2nJKi", + }; + testNetwork(done, params); +}); it('Allows selection of ripple', function(done) { var params = { selectText: "XRP - Ripple", @@ -416,6 +434,14 @@ it('Allows selection of ripple', function(done) { }; testNetwork(done, params); }); +it('Allows selection of casinocoin', function(done) { + var params = { + selectText: "CSC - CasinoCoin", + firstAddress: "c3P5EUb27Pzk9dcGt4s7zQDQj4sC6Y81mT", + phrase: "ill clump only blind unit burden thing track silver cloth review awake useful craft whale all satisfy else trophy sunset walk vanish hope valve", + }; + testNetwork(done, params); +}); it('Allows selection of dogecoin', function(done) { var params = { selectText: "DOGE - Dogecoin", @@ -423,6 +449,13 @@ it('Allows selection of dogecoin', function(done) { }; testNetwork(done, params); }); +it('Allows selection of dogecoin testnet', function(done) { + var params = { + selectText: "DOGEt - Dogecoin Testnet", + firstAddress: "niHnSJKHdwDyDxRMLBJrtNqpvHEsAFWe6B", + }; + testNetwork(done, params); +}); it('Allows selection of denarius', function(done) { var params = { selectText: "DNR - Denarius", @@ -474,11 +507,18 @@ it('Allows selection of clam', function(done) { }); it('Allows selection of crown', function(done) { var params = { - selectText: "CRW - Crown", + selectText: "CRW - Crown (Legacy)", firstAddress: "18pWSwSUAQdiwMHUfFZB1fM2xue9X1FqE5", }; testNetwork(done, params); }); +it('Allows selection of crown', function(done) { + var params = { + selectText: "CRW - Crown", + firstAddress: "CRWKnVmVhvH1KWTYe6sq8xV4dFGcFpBEEkPQ", + }; + testNetwork(done, params); +}); it('Allows selection of dash', function(done) { var params = { selectText: "DASH - Dash", @@ -521,6 +561,20 @@ it('Allows selection of onixcoin', function(done) { }; testNetwork(done, params); }); +it('Allows selection of lkrcoin', function(done) { + var params = { + selectText: "LKR - Lkrcoin", + firstAddress: "LfbT296e7AEEnn4bYDbL535Nd8P9g98CdJ", + }; + testNetwork(done, params); +}); +it('Allows selection of bolivarcoin', function(done) { + var params = { + selectText: "BOLI - Bolivarcoin", + firstAddress: "bbKzCAUR7hZ3nqfffy7VgrSz8LmAP3S5mK", + }; + testNetwork(done, params); +}); it('Allows selection of peercoin', function(done) { var params = { selectText: "PPC - Peercoin", @@ -531,7 +585,7 @@ it('Allows selection of peercoin', function(done) { it('Allows selection of ethereum', function(done) { var params = { selectText: "ETH - Ethereum", - firstAddress: "0xe5815d5902Ad612d49283DEdEc02100Bd44C2772", + firstAddress: "0x20Bb0CD7dd4a255f558bCD1A34D21E27061Ac2CF", }; testNetwork(done, params); // TODO test private key and public key @@ -557,6 +611,15 @@ it('Allows selection of bitcoin cash', function(done) { }; testNetwork(done, params); }); + +it('Allows selection of simpleledger(SLP)', function(done) { + var params = { + selectText: "SLP - Simple Ledger Protocol", + firstAddress: "simpleledger:qrtffz6ajfsn74gpur7y3epjquz42pvww5acewqmre", + }; + testNetwork(done, params); +}); + it('Allows selection of myriadcoin', function(done) { var params = { selectText: "XMY - Myriadcoin", @@ -585,6 +648,20 @@ it('Allows selection of maza', function(done) { }; testNetwork(done, params); }); +it('Allows selection of FIX', function(done) { + var params = { + selectText: "FIX - FIX", + firstAddress: "FS5MEU8fs5dUvsaSCSusV8RQtC8j2h3JEh", + }; + testNetwork(done, params); +}); +it('Allows selection of FIX testnet', function(done) { + var params = { + selectText: "FIX - FIX Testnet", + firstAddress: "XpnU1HHdNG5YxvG9Rez4wjmidchxqnZaNa", + }; + testNetwork(done, params); +}); it('Allows selection of fujicoin', function(done) { var params = { selectText: "FJC - Fujicoin", @@ -655,6 +732,13 @@ it('Allows selection of Asiacoin', function(done) { }; testNetwork(done, params); }); +it('Allows selection of Aryacoin', function(done) { + var params = { + selectText: "ARYA - Aryacoin", + firstAddress: "Abr6gX25KaU9BpwD34UfsL3A4n89NvYYSf", + }; + testNetwork(done, params); +}); it('Allows selection of Auroracoin', function(done) { var params = { selectText: "AUR - Auroracoin", @@ -697,6 +781,13 @@ it('Allows selection of Bitcoin Private', function(done) { }; testNetwork(done, params); }); +it('Allows selection of Bitcoin SV', function(done) { + var params = { + selectText: "BSV - BitcoinSV", + firstAddress: "1N4mgtE5yxifch9jWs7Sds6oVqxdy2t576", + }; + testNetwork(done, params); +}); it('Allows selection of Bitcoinz', function(done) { var params = { selectText: "BTCZ - Bitcoinz", @@ -707,7 +798,7 @@ it('Allows selection of Bitcoinz', function(done) { it('Allows selection of BitCloud', function(done) { var params = { selectText: "BTDX - BitCloud", - firstAddress: "BE9tnWxiR7ALgVhG8LLDi2W9pvtjzZMFoM", + firstAddress: "BHbWitXCNgTf1BhsRDNMP186EeibuzmrBi", }; testNetwork(done, params); }); @@ -760,6 +851,13 @@ it('Allows selection of Compcoin', function(done) { }; testNetwork(done, params); }); +it('Allows selection of CPUchain', function(done) { + var params = { + selectText: "CPU - CPUchain", + firstAddress: "CWSpLpW7jS4mBHJnkz3mmL5s3yQMg93zK8", + }; + testNetwork(done, params); +}); it('Allows selection of Crave', function(done) { var params = { selectText: "CRAVE - Crave", @@ -823,6 +921,13 @@ it('Allows selection of Einsteinium', function(done) { }; testNetwork(done, params); }); +it('Allows selection of EOSIO', function(done) { + var params = { + selectText: "EOS - EOSIO", + firstPubKey: "EOS692VJTBK3Rmw93onNnpnZ8ZtmE9PdxjDStArvbyzoe11QUTNoy", + }; + testNetwork(done, params, true); +}); it('Allows selection of Europecoin', function(done) { var params = { selectText: "ERC - Europecoin", @@ -966,7 +1071,7 @@ it('Allows selection of Lynx', function(done) { it('Allows selection of Megacoin', function(done) { var params = { selectText: "MEC - Megacoin", - firstAddress: "MHHRRPHcF8DvQpEySFF9M6fR8Qv4JH2fFC", + firstAddress: "MDfAj9CzkC1HpcUiVGnHp8yKTa7WXgu8AY", }; testNetwork(done, params); }); @@ -984,6 +1089,13 @@ it('Allows selection of Navcoin', function(done) { }; testNetwork(done, params); }); +it('Allows selection of Nebulas', function(done) { + var params = { + selectText: "NAS - Nebulas", + firstAddress: "n1PbK61DGBfDoDusLw621G6sVSMfLLHdfnm", + }; + testNetwork(done, params); +}); it('Allows selection of Neoscoin', function(done) { var params = { selectText: "NEOS - Neoscoin", @@ -991,6 +1103,13 @@ it('Allows selection of Neoscoin', function(done) { }; testNetwork(done, params); }); +it('Allows selection of Nix', function(done) { + var params = { + selectText: "NIX - NIX Platform", + firstAddress: "GgcNW2SQQXB4LWHRQTHKkQF3GzXNSLqS8u", + }; + testNetwork(done, params); +}); it('Allows selection of Neurocoin', function(done) { var params = { selectText: "NRO - Neurocoin", @@ -1033,6 +1152,13 @@ it('Allows selection of Omnicore', function(done) { }; testNetwork(done, params); }); +it('Allows selection of DeepOnion', function(done) { + var params = { + selectText: "ONION - DeepOnion", + firstAddress: "DYREY7XCFXVqJ3x5UuN43k2JwD2s1kif48", + }; + testNetwork(done, params); +}); it('Allows selection of Pesobit', function(done) { var params = { selectText: "PSB - Pesobit", @@ -1068,6 +1194,20 @@ it('Allows selection of Putincoin', function(done) { }; testNetwork(done, params); }); +it('Allows selection of Rapids', function(done) { + var params = { + selectText: "RPD - Rapids", + firstAddress: "Ri8XxUdZaXS5LqxmFJcFEjFinkaMbmhSUp", + }; + testNetwork(done, params); +}); +it('Allows selection of Ravencoin', function(done) { + var params = { + selectText: "RVN - Ravencoin", + firstAddress: "RBuDoVNnzvFsEcX8XKPm8ic4mgiCzjUCNk", + }; + testNetwork(done, params); +}); it('Allows selection of Reddcoin', function(done) { var params = { selectText: "RDD - Reddcoin", @@ -1092,8 +1232,9 @@ it('Allows selection of Rubycoin', function(done) { it('Allows selection of Salus', function(done) { var params = { selectText: "SLS - Salus", - firstAddress: "SgdYBmVytcW2aCYitdegwkUcCU7RSqYokB", + firstAddress: "SNzPi1CafHFm3WWjRo43aMgiaEEj3ogjww", }; + testNetwork(done, params); }); it('Allows selection of Smileycoin', function(done) { var params = { @@ -1119,7 +1260,7 @@ it('Allows selection of stash', function(done) { it('Allows selection of stash testnet', function(done) { var params = { selectText: "STASH - Stash Testnet", - firstAddress: "YdbhtMuGsPSkE6bPdNTHoFSszQKmK4S5LT", + firstAddress: "yWQCTSkUst7ddYuebKsqa1kSoXEjpCkGKR", }; testNetwork(done, params); }); @@ -1151,6 +1292,20 @@ it('Allows selection of Toa', function(done) { }; testNetwork(done, params); }); +it('Allows selection of TWINS', function(done) { + var params = { + selectText: "TWINS - TWINS", + firstAddress: "WPpJnfLLubNmF7HLNxg8d8zH5haxn4wri8", + }; + testNetwork(done, params); +}); +it('Allows selection of TWINS testnet', function(done) { + var params = { + selectText: "TWINS - TWINS Testnet", + firstAddress: "XpnU1HHdNG5YxvG9Rez4wjmidchxqnZaNa", + }; + testNetwork(done, params); +}); it('Allows selection of Ultimatesecurecash', function(done) { var params = { selectText: "USC - Ultimatesecurecash", @@ -1200,6 +1355,13 @@ it('Allows selection of Vpncoin', function(done) { }; testNetwork(done, params); }); +it('Allows selection of VeChain', function(done) { + var params = { + selectText: "VET - VeChain", + firstAddress: "0x993680FDF7f4a6AbcD4b9Db23b92Bc6B08AF9e48", + }; + testNetwork(done, params); +}); it('Allows selection of Whitecoin', function(done) { var params = { selectText: "XWC - Whitecoin", @@ -1235,9 +1397,9 @@ it('Allows selection of Zclassic', function(done) { }; testNetwork(done, params); }); -it('Allows selection of Zencash', function(done) { +it('Allows selection of Horizen', function(done) { var params = { - selectText: "ZEN - Zencash", + selectText: "ZEN - Horizen", firstAddress: "znWh9XASyW2dZq5tck84wFjiwuqVysi7q3p", }; testNetwork(done, params); @@ -1252,59 +1414,74 @@ it('Allows selection of Energi', function(done) { it('Allows selection of Ethereum Classic', function(done) { var params = { selectText: "ETC - Ethereum Classic", - firstAddress: "0x3c05e5556693808367afB62eF3b63e35d6eD249A", + firstAddress: "0x8Ad2bc632591bb442CfBEA19AC919ef16480B162", }; testNetwork(done, params); }); it('Allows selection of Pirl', function(done) { var params = { selectText: "PIRL - Pirl", - firstAddress: "0xe77FC0723dA122B5025CA79193c28563eB47e776", + firstAddress: "0xc85E5dc7287F759394E53e5ba62510a35cE0DcFF", }; testNetwork(done, params); }); it('Allows selection of MIX', function(done) { var params = { selectText: "MIX - MIX", - firstAddress: "0x98BC5e63aeb6A4e82d72850d20710F07E29A29F1", + firstAddress: "0x325C6118DD0f788B50998591B2a7A35FB0a4a402", + }; + testNetwork(done, params); +}); +it('Allows selection of Monkey Project', function(done) { + var params = { + selectText: "MONK - Monkey Project", + firstAddress: "MnLrcnnUzKnf7TzufjRe5DLZqQJz18oYyu", }; testNetwork(done, params); }); + it('Allows selection of Musicoin', function(done) { var params = { selectText: "MUSIC - Musicoin", - firstAddress: "0xDc060e4A0b0313ea83Cf6B3A39B9db2D29004897", + firstAddress: "0x600c481Fa6100531357dD49B3aa042A8F56F6AB5", }; testNetwork(done, params); }); it('Allows selection of Poa', function(done) { var params = { selectText: "POA - Poa", - firstAddress: "0x53aF28d754e106210C3d0467Dd581eaf7e3C5e60", + firstAddress: "0x6F0d9bA6fda8EAA31f24A9c9fef3321F9851329D", }; testNetwork(done, params); }); it('Allows selection of Expanse', function(done) { var params = { selectText: "EXP - Expanse", - firstAddress: "0xf57FeAbf26582b6E3E666559d3B1Cc6fB2b2c5F6", + firstAddress: "0xEc6e7f6782a29353c32A9A104E849605a01546e4", }; testNetwork(done, params); }); it('Allows selection of Callisto', function(done) { var params = { selectText: "CLO - Callisto", - firstAddress: "0x4f9364F7420B317266C51Dc8eB979717D4dE3f4E", + firstAddress: "0x57bE971d6E61315fB957a2BFC9202fbE31f49e89", }; testNetwork(done, params); }); it('Allows selection of HUSH', function(done) { var params = { - selectText: "HUSH - Hush", + selectText: "HUSH - Hush (Legacy)", firstAddress: "t1g6rLXUnJaiJuu4q4zmJjoa9Gk4fwKpiuA", }; testNetwork(done, params); }); +it('Allows selection of HUSH3', function(done) { + var params = { + selectText: "HUSH - Hush3", + firstAddress: "RXWSQhwvw5jHPGP8bjwJhWoRnMLBnuPDKD", + }; + testNetwork(done, params); +}); it('Allows selection of ExchangeCoin', function(done) { var params = { selectText: "EXCC - ExchangeCoin", @@ -1340,6 +1517,111 @@ it('Allows selection of ProjectCoin', function(done) { }; testNetwork(done, params); }); +it('Allows selection of Phore', function(done) { + var params = { + selectText: "PHR - Phore", + firstAddress: "PJThxpoXAG6hqrmdeQQbVDX4TJtFTMMymC", + }; + testNetwork(done, params); +}); +it('Allows selection of Safecoin', function(done) { + var params = { + selectText: "SAFE - Safecoin", + firstAddress: "RtxHpnhJz6RY8k9owP3ua5QWraunmewB1G", + }; + testNetwork(done, params); + }); +it('Allows selection of Blocknode', function(done) { + var params = { + selectText: "BND - Blocknode", + firstAddress: "BG8xZSAur2jYLG9VXt8dYfkKxxeR7w9bSe", + }; + testNetwork(done, params); +}); +it('Allows selection of Blocknode Testnet', function(done) { + var params = { + selectText: "tBND - Blocknode Testnet", + firstAddress: "bSptsFyDktFSKpWveRywJsDoJA2TC6qfHv", + }; + testNetwork(done, params); +}); +it('Allows selection of LitecoinZ', function(done) { + var params = { + selectText: "LTZ - LitecoinZ", + firstAddress: "L1VTXju7hLgKV4T7fGXS9sKsnm2gmtRCmyw", + }; + testNetwork(done, params); +}); +it('Allows selection of BlockStamp', function(done) { + var params = { + selectText: "BST - BlockStamp", + firstAddress: "15gypKtim4cVTj137ApfryG17RkvSbPazZ", + }; + testNetwork(done, params); +}); +it('Allows selection of DEXON', function(done) { + var params = { + selectText: "DXN - DEXON", + firstAddress: "0x7c444Dd705c6Ecd6a4F926aFd38bC96d6BdcC3D5", + }; + testNetwork(done, params); +}); +it('Allows selection of Ellaism', function(done) { + var params = { + selectText: "ELLA - Ellaism", + firstAddress: "0x9DA7b90b0c0Cf7a2EbbE1A20f9d9A663451a2F8D", + }; + testNetwork(done, params); +}); +it('Allows selection of Ethersocial Network', function(done) { + var params = { + selectText: "ESN - Ethersocial Network", + firstAddress: "0x0685439123f9a1767Bad9b99258d72733783f64C", + }; + testNetwork(done, params); +}); +it('Allows selection of Stellar', function(done) { + var params = { + selectText: "XLM - Stellar", + firstAddress: "GCUK3NYYUXA2QGN6KU5RR36WAKN3Y5EANZV65XNAWN4XM4CHQ3G4DMO2", + }; + testNetwork(done, params); +}); +it('Allows selection of Wagerr', function(done) { + var params = { + selectText: "WGR - Wagerr", + firstAddress: "WYiVgQU39VcQxcnacoCiaZHZZLjDCJoS95", + }; + testNetwork(done, params); +}); +it('Allows selection of Groestlcoin', function(done) { + var params = { + selectText: "GRS - Groestlcoin", + firstAddress: "FZycsFvZ1eH1hbtyjBpAgJSukVw1bN6PBN", + }; + testNetwork(done, params); +}); +it('Allows selection of Groestlcoin Testnet', function(done) { + var params = { + selectText: "GRS - Groestlcoin Testnet", + firstAddress: "mucaU5iiDaJDb69BHLeDv8JFfGiygRPne9", + }; + testNetwork(done, params); +}); +it('Allows selection of Elastos', function(done) { + var params = { + selectText: "ELA - Elastos", + firstAddress: "EMccDcsn3SwPDcfeQMf3w7utqi8ioWYtkg", + }; + testNetwork(done, params); +}); +it('Allows selection of Energyweb', function(done) { + var params = { + selectText: "EWT - EnergyWeb", + firstAddress: "0x190aCfa6dA6Ff2D0a28Fbd0e02Aec493bCa5D7f7", + }; + testNetwork(done, params); +}); // BIP39 seed is set from phrase it('Sets the bip39 seed from the prhase', function(done) { @@ -1920,6 +2202,7 @@ it('Ignores excess whitespace in the mnemonic', function(done) { // Github Issue 23: Part 1: Use correct derivation path when changing tabs // https://github.com/iancoleman/bip39/issues/23 +// This test was failing for default timeout of 5000ms so changed it to +10s it('Uses the correct derivation path when changing tabs', function(done) { // 1) and 2) set the phrase driver.findElement(By.css('.phrase')) @@ -1944,7 +2227,7 @@ it('Uses the correct derivation path when changing tabs', function(done) { }); }); }); -}); +}, generateDelay + 10000); // Github Issue 23 Part 2: Coin selection in derivation path // https://github.com/iancoleman/bip39/issues/23#issuecomment-238011920 @@ -2911,7 +3194,7 @@ it('Can change details while old addresses are still being generated', function( }); }); }); -}, generateDelay + 5000); +}, generateDelay + 10000); // Github issue 49 // padding for binary should give length with multiple of 256 @@ -3802,6 +4085,27 @@ it('Shows litecoin BIP49 addresses', function(done) { }); }); +it('Shows Groestlcoin BIP49 addresses', function(done) { + driver.findElement(By.css('.phrase')) + .sendKeys('abandon abandon ability'); + selectNetwork("GRS - Groestlcoin"); + driver.findElement(By.css('#bip49-tab a')) + .click() + // bip49 addresses are shown + driver.sleep(generateDelay).then(function() { + driver.findElement(By.css('#bip49 .available')) + .getAttribute("class") + .then(function(classes) { + expect(classes).not.toContain("hidden"); + // check first address + getFirstAddress(function(address) { + expect(address).toBe("3HXSCZwCypLyixMsF4Z1sN49noJtrm8gnX"); + done(); + }); + }); + }); +}); + it('Can use root keys to generate segwit table rows', function(done) { // segwit uses ypub / zpub instead of xpub but the root key should still // be valid regardless of the encoding used to import that key. @@ -3821,4 +4125,57 @@ it('Can use root keys to generate segwit table rows', function(done) { }); }); +// Pull Request 271 +// Allow converting mnemonic back to raw entropy value +it('Converts mnemonics into raw entropy', function(done) { + driver.findElement(By.css('.phrase')) + .sendKeys('abandon abandon about'); + driver.sleep(generateDelay).then(function() { + driver.findElement(By.css('.use-entropy')) + .click(); + driver.findElement(By.css('.entropy')) + .getAttribute("value") + .then(function(entropy) { + expect(entropy).toBe("00000000000000000000000000000001"); + driver.findElement(By.css('.phrase')) + .getAttribute("value") + .then(function(phrase) { + expect(phrase).toBe("abandon abandon about"); + done(); + }); + }); + }); +}); + +// Pull Request 279 +// Added Split Phrase Card Output +it('Shows split prase cards', function(done) { + var originalPhrase = "ugly charge strong giant once anchor capable october thumb inject dwarf legal alley mixture shoot"; + var originalWords = originalPhrase.split(' '); + driver.findElement(By.css('.phrase')) + .sendKeys(originalPhrase); + driver.sleep(generateDelay).then(function() { + driver.findElement(By.css('.phraseSplit')) + .getAttribute("value") + .then(function(cardsStr) { + var cards = cardsStr.split("\n"); + expect(cards.length).toBe(3); + // test all 2-of-3 combos can be used to form full phrase + var combos = [[0,1],[0,2],[1,2]]; + for (var i=0; i