提交 2b9fd6b4 编写于 作者: P Péter Szilágyi

whisper: add full filter test suite

上级 406e74e2
......@@ -147,3 +147,53 @@ func TestFilterTopicsCreation(t *testing.T) {
}
}
}
var filterCompareTests = []struct {
matcher filterer
message filterer
match bool
}{
{ // Wild-card filter matching anything
matcher: filterer{to: "", from: "", matcher: newTopicMatcher()},
message: filterer{to: "to", from: "from", matcher: newTopicMatcher(NewFilterTopicsFromStringsFlat("topic")...)},
match: true,
},
{ // Filter matching the to field
matcher: filterer{to: "to", from: "", matcher: newTopicMatcher()},
message: filterer{to: "to", from: "from", matcher: newTopicMatcher(NewFilterTopicsFromStringsFlat("topic")...)},
match: true,
},
{ // Filter rejecting the to field
matcher: filterer{to: "to", from: "", matcher: newTopicMatcher()},
message: filterer{to: "", from: "from", matcher: newTopicMatcher(NewFilterTopicsFromStringsFlat("topic")...)},
match: false,
},
{ // Filter matching the from field
matcher: filterer{to: "", from: "from", matcher: newTopicMatcher()},
message: filterer{to: "to", from: "from", matcher: newTopicMatcher(NewFilterTopicsFromStringsFlat("topic")...)},
match: true,
},
{ // Filter rejecting the from field
matcher: filterer{to: "", from: "from", matcher: newTopicMatcher()},
message: filterer{to: "to", from: "", matcher: newTopicMatcher(NewFilterTopicsFromStringsFlat("topic")...)},
match: false,
},
{ // Filter matching the topic field
matcher: filterer{to: "", from: "from", matcher: newTopicMatcher(NewFilterTopicsFromStringsFlat("topic")...)},
message: filterer{to: "to", from: "from", matcher: newTopicMatcher(NewFilterTopicsFromStringsFlat("topic")...)},
match: true,
},
{ // Filter rejecting the topic field
matcher: filterer{to: "", from: "", matcher: newTopicMatcher(NewFilterTopicsFromStringsFlat("topic")...)},
message: filterer{to: "to", from: "from", matcher: newTopicMatcher()},
match: false,
},
}
func TestFilterCompare(t *testing.T) {
for i, tt := range filterCompareTests {
if match := tt.matcher.Compare(tt.message); match != tt.match {
t.Errorf("test %d: match mismatch: have %v, want %v", i, match, tt.match)
}
}
}
......@@ -21,8 +21,7 @@ type peer struct {
quit chan struct{}
}
// newPeer creates and initializes a new whisper peer connection, returning either
// the newly constructed link or a failure reason.
// newPeer creates a new whisper peer object, but does not run the handshake itself.
func newPeer(host *Whisper, remote *p2p.Peer, rw p2p.MsgReadWriter) *peer {
return &peer{
host: host,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册