move error conversion from session to qerr.ToQuicError

This commit is contained in:
Lucas Clemente
2016-05-17 10:37:43 +02:00
parent bfaa4200df
commit 466d50345a
3 changed files with 63 additions and 28 deletions

View File

@@ -1,6 +1,8 @@
package qerr_test
import (
"io"
"github.com/lucas-clemente/quic-go/qerr"
. "github.com/onsi/ginkgo"
@@ -8,8 +10,33 @@ import (
)
var _ = Describe("Quic error", func() {
It("has a string representation", func() {
err := qerr.Error(qerr.InternalError, "foobar")
Expect(err.Error()).To(Equal("InternalError: foobar"))
Context("QuicError", func() {
It("has a string representation", func() {
err := qerr.Error(qerr.DecryptionFailure, "foobar")
Expect(err.Error()).To(Equal("DecryptionFailure: foobar"))
})
})
Context("ErrorCode", func() {
It("works as error", func() {
var err error = qerr.DecryptionFailure
Expect(err).To(MatchError("DecryptionFailure"))
})
})
Context("ToQuicError", func() {
It("leaves QuicError unchanged", func() {
err := qerr.Error(qerr.DecryptionFailure, "foo")
Expect(qerr.ToQuicError(err)).To(Equal(err))
})
It("wraps ErrorCode properly", func() {
var err error = qerr.DecryptionFailure
Expect(qerr.ToQuicError(err)).To(Equal(qerr.Error(qerr.DecryptionFailure, "")))
})
It("changes default errors to InternalError", func() {
Expect(qerr.ToQuicError(io.EOF)).To(Equal(qerr.Error(qerr.InternalError, "")))
})
})
})