diff options
Diffstat (limited to 'lib/dns/message_test.go')
| -rw-r--r-- | lib/dns/message_test.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/lib/dns/message_test.go b/lib/dns/message_test.go index 8a1d47b2..a2f07b8b 100644 --- a/lib/dns/message_test.go +++ b/lib/dns/message_test.go @@ -1210,6 +1210,42 @@ func TestMessageSetResponseCode(t *testing.T) { } } +func TestMessage_UnpackHeaderQuestion(t *testing.T) { + var tdata *test.Data + var err error + tdata, err = test.LoadData(`testdata/message/UnpackHeaderQuestion_test.txt`) + if err != nil { + t.Fatal(err) + } + + var name string + var rawb []byte + var msg Message + for name, rawb = range tdata.Input { + t.Run(name, func(t *testing.T) { + msg.packet, err = hexdump.Parse(rawb, true) + if err != nil { + t.Fatal(err) + } + + err = msg.UnpackHeaderQuestion() + if err != nil { + var expError = tdata.Output[name+`Error`] + test.Assert(t, `error`, string(expError), + err.Error()) + return + } + + rawb, err = json.MarshalIndent(&msg, ``, ` `) + if err != nil { + t.Fatal(err) + } + test.Assert(t, `message`, string(tdata.Output[name]), + string(rawb)) + }) + } +} + func TestUnpackMessage(t *testing.T) { type testCase struct { exp *Message |
