github.com/keybase/client/go@v0.0.0-20241007131713-f10651d043c8/libkb/secwords_test.go (about)

     1  // Copyright 2015 Keybase, Inc. All rights reserved. Use of
     2  // this source code is governed by the included BSD license.
     3  
     4  package libkb
     5  
     6  import (
     7  	"testing"
     8  )
     9  
    10  func TestSecWordList(t *testing.T) {
    11  	words, err := SecWordList(65)
    12  	if err != nil {
    13  		t.Fatal(err)
    14  	}
    15  	t.Logf("words: %v", words)
    16  	if len(words) != 6 {
    17  		t.Errorf("# words = %d, expected 6", len(words))
    18  	}
    19  }
    20  
    21  func TestSecWordList128(t *testing.T) {
    22  	words, err := SecWordList(128)
    23  	if err != nil {
    24  		t.Fatal(err)
    25  	}
    26  	t.Logf("words: %v", words)
    27  	if len(words) != 12 {
    28  		t.Errorf("# words = %d, expected 12", len(words))
    29  	}
    30  }
    31  
    32  func TestSecWordList144(t *testing.T) {
    33  	words, err := SecWordList(144)
    34  	if err != nil {
    35  		t.Fatal(err)
    36  	}
    37  	t.Logf("words: %v", words)
    38  	if len(words) != 14 {
    39  		t.Errorf("# words = %d, expected 14", len(words))
    40  	}
    41  }
    42  
    43  func TestSecWordListConstants(t *testing.T) {
    44  	words, err := SecWordList(PaperKeySecretEntropy + PaperKeyIDBits + PaperKeyVersionBits)
    45  	if err != nil {
    46  		t.Fatal(err)
    47  	}
    48  	if len(words) != PaperKeyWordCountMin {
    49  		t.Errorf("paper key words for constants: %d, expected %d", len(words), PaperKeyWordCountMin)
    50  	}
    51  }