forked from cerc-io/plugeth
Delet => Delete
This commit is contained in:
parent
ba0a758d8c
commit
bf5365b317
@ -27,6 +27,6 @@ func (self *SecureTrie) GetString(key string) []byte {
|
|||||||
func (self *SecureTrie) Delete(key []byte) Node {
|
func (self *SecureTrie) Delete(key []byte) Node {
|
||||||
return self.Trie.Delete(crypto.Sha3(key))
|
return self.Trie.Delete(crypto.Sha3(key))
|
||||||
}
|
}
|
||||||
func (self *SecureTrie) DeletString(key string) Node {
|
func (self *SecureTrie) DeleteString(key string) Node {
|
||||||
return self.Delete([]byte(key))
|
return self.Delete([]byte(key))
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,10 @@ func NewEmpty() *Trie {
|
|||||||
return New(nil, make(Db))
|
return New(nil, make(Db))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func NewEmptySecure() *SecureTrie {
|
||||||
|
return NewSecure(nil, make(Db))
|
||||||
|
}
|
||||||
|
|
||||||
func TestEmptyTrie(t *testing.T) {
|
func TestEmptyTrie(t *testing.T) {
|
||||||
trie := NewEmpty()
|
trie := NewEmpty()
|
||||||
res := trie.Hash()
|
res := trie.Hash()
|
||||||
@ -295,3 +299,31 @@ func TestLargeData(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestSecureDelete(t *testing.T) {
|
||||||
|
trie := NewEmptySecure()
|
||||||
|
|
||||||
|
vals := []struct{ k, v string }{
|
||||||
|
{"do", "verb"},
|
||||||
|
{"ether", "wookiedoo"},
|
||||||
|
{"horse", "stallion"},
|
||||||
|
{"shaman", "horse"},
|
||||||
|
{"doge", "coin"},
|
||||||
|
{"ether", ""},
|
||||||
|
{"dog", "puppy"},
|
||||||
|
{"shaman", ""},
|
||||||
|
}
|
||||||
|
for _, val := range vals {
|
||||||
|
if val.v != "" {
|
||||||
|
trie.UpdateString(val.k, val.v)
|
||||||
|
} else {
|
||||||
|
trie.DeleteString(val.k)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
hash := trie.Hash()
|
||||||
|
exp := ethutil.Hex2Bytes("29b235a58c3c25ab83010c327d5932bcf05324b7d6b1185e650798034783ca9d")
|
||||||
|
if !bytes.Equal(hash, exp) {
|
||||||
|
t.Errorf("expected %x got %x", exp, hash)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user