add the packet number decoding and encoding test cases from the draft

This commit is contained in:
Marten Seemann
2018-11-26 22:11:05 +07:00
parent bfb467e9b8
commit 2add1d2fea

View File

@@ -10,7 +10,10 @@ import (
// Tests taken and extended from chrome
var _ = Describe("packet number calculation", func() {
Context("infering a packet number", func() {
PIt("works with the example from the draft", func() {
Expect(InferPacketNumber(PacketNumberLen2, 0xa82f30ea, 0x9b32)).To(Equal(PacketNumber(0xa8309b32)))
})
getEpoch := func(len PacketNumberLen) uint64 {
if len > 4 {
Fail("invalid packet number len")
@@ -213,9 +216,13 @@ var _ = Describe("packet number calculation", func() {
})
})
}
})
Context("determining the minimum length of a packet number", func() {
It("works with the examples from the draft", func() {
Expect(GetPacketNumberLengthForHeader(0xac5c02, 0xabe8bc)).To(Equal(PacketNumberLen2))
Expect(GetPacketNumberLengthForHeader(0xace8fe, 0xabe8bc)).To(Equal(PacketNumberLen3))
})
It("1 byte", func() {
Expect(GetPacketNumberLength(0xFF)).To(Equal(PacketNumberLen1))
})