+it('Shows a warning if overriding weak entropy with longer mnemonics', function(done) {
+ driver.findElement(By.css('.use-entropy'))
+ .click();
+ driver.findElement(By.css('.entropy'))
+ .sendKeys("0123456789abcdef"); // 6 words
+ driver.executeScript(function() {
+ $(".mnemonic-length").val("12").trigger("change");
+ });
+ driver.findElement(By.css(".weak-entropy-override-warning"))
+ .getAttribute("class")
+ .then(function(classes) {
+ expect(classes).not.toContain("hidden");
+ done();
+ });
+});
+
+it('Does not show a warning if entropy is stronger than mnemonic length', function(done) {
+ driver.findElement(By.css('.use-entropy'))
+ .click();
+ driver.findElement(By.css('.entropy'))
+ .sendKeys("0123456789abcdef0123456789abcdef0123456789abcdef"); // 18 words
+ driver.executeScript(function() {
+ $(".mnemonic-length").val("12").trigger("change");
+ });
+ driver.findElement(By.css(".weak-entropy-override-warning"))
+ .getAttribute("class")
+ .then(function(classes) {
+ expect(classes).toContain("hidden");
+ done();
+ });
+});
+
+it('Shows a warning for litecoin BIP84 (which does not have p2wpkh params)', function(done) {
+ driver.findElement(By.css('.phrase'))
+ .sendKeys('abandon abandon ability');
+ selectNetwork("LTC - Litecoin");
+ driver.findElement(By.css('#bip84-tab a'))
+ .click()
+ // bip84 unavailable is shown
+ driver.sleep(feedbackDelay).then(function() {
+ driver.findElement(By.css('#bip84 .unavailable'))
+ .getAttribute("class")
+ .then(function(classes) {
+ expect(classes).not.toContain("hidden");
+ done();
+ });
+ });
+});
+
+it('Shows litecoin BIP49 addresses', function(done) {
+ driver.findElement(By.css('.phrase'))
+ .sendKeys('abandon abandon ability');
+ selectNetwork("LTC - Litecoin");
+ 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("MFwLPhsXoBuSLL8cLmW9uK6tChkzduV8qN");
+ 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.
+ // Maybe this breaks the reason for the different extended key prefixes, but
+ // since the parsed root key is used behind the scenes anyhow this should be
+ // allowed.
+ driver.findElement(By.css('#root-key'))
+ .sendKeys('xprv9s21ZrQH143K2jkGDCeTLgRewT9F2pH5JZs2zDmmjXes34geVnFiuNa8KTvY5WoYvdn4Ag6oYRoB6cXtc43NgJAEqDXf51xPm6fhiMCKwpi');
+ driver.findElement(By.css('#bip49-tab a'))
+ .click()
+ // bip49 addresses are shown
+ driver.sleep(generateDelay).then(function() {
+ getFirstAddress(function(address) {
+ expect(address).toBe("3QG2Y9AA4xZ846gKHZqNf7mvVKbLqMKxr2");
+ done();
+ });
+ });
+});
+