@@ -5,7 +5,6 @@ var config = require('./testutils').get_config();
5
5
6
6
describe ( 'Seed' , function ( ) {
7
7
it ( 'can generate many addresses' , function ( ) {
8
- var seed = Seed . from_json ( "masterpassphrase" ) ;
9
8
10
9
var test_data = [
11
10
// Format:
@@ -28,10 +27,10 @@ describe('Seed', function() {
28
27
29
28
function assert_helper ( seed_json , address_or_nth , expected ) {
30
29
var seed = Seed . from_json ( seed_json ) ;
31
- var keypair = seed . get_key ( address_or_nth ) ;
32
- assert . strictEqual ( keypair . to_hex_pub ( ) ,
33
- expected ) ;
30
+ var keypair = seed . get_key ( address_or_nth , 500 ) ;
31
+ assert . strictEqual ( keypair . to_hex_pub ( ) , expected ) ;
34
32
}
33
+
35
34
for ( var nth = 0 ; nth < test_data . length ; nth ++ ) {
36
35
var seed_json = test_data [ nth ] [ 0 ] ;
37
36
var address = test_data [ nth ] [ 1 ] ;
@@ -47,7 +46,30 @@ describe('Seed', function() {
47
46
// This isn't too bad as it only needs to generate one keypair `seq`
48
47
assert_helper ( seed_json , nth_for_seed , expected ) ;
49
48
} ;
49
+
50
50
} ) ;
51
+
52
+ it ( 'should return the key_pair for a valid account and secret pair' , function ( ) {
53
+ var address = 'r3GgMwvgvP8h4yVWvjH1dPZNvC37TjzBBE' ;
54
+ var seed = Seed . from_json ( 'shsWGZcmZz6YsWWmcnpfr6fLTdtFV' ) ;
55
+ var keyPair = seed . get_key ( address ) ;
56
+ assert . strictEqual ( keyPair . get_address ( ) . to_json ( ) , address ) ;
57
+ assert . strictEqual ( keyPair . to_hex_pub ( ) , '02F89EAEC7667B30F33D0687BBA86C3FE2A08CCA40A9186C5BDE2DAA6FA97A37D8' ) ;
58
+ } ) ;
59
+
60
+ it ( 'should not find a KeyPair for a secret that does not belong to the given account' , function ( ) {
61
+ var address = 'r3GgMwvgvP8h4yVWvjH1dPZNvC37TjzBBE' ;
62
+ var secret = 'snoPBrXtMeMyMHUVTgbuqAfg1SUTb' ;
63
+ var seed = Seed . from_json ( 'snoPBrXtMeMyMHUVTgbuqAfg1SUTb' ) ;
64
+ try {
65
+ seed . get_key ( address ) ;
66
+ assert ( false , 'should throw an error' ) ;
67
+ } catch ( e ) {
68
+ assert . strictEqual ( e . message , 'Too many loops looking for KeyPair yielding ' + address + ' from ' + secret ) ;
69
+ }
70
+
71
+ } ) ;
72
+
51
73
} ) ;
52
74
53
75
// vim:sw=2:sts=2:ts=8:et
0 commit comments