forked from quic-go/quic-go
move all dependencies on qtls to a separate package
This commit is contained in:
60
internal/qtls/structs_equal_test.go
Normal file
60
internal/qtls/structs_equal_test.go
Normal file
@@ -0,0 +1,60 @@
|
||||
package qtls
|
||||
|
||||
import (
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
)
|
||||
|
||||
type target struct {
|
||||
Name string
|
||||
Version string
|
||||
|
||||
callback func(label string, length int) error
|
||||
}
|
||||
|
||||
type renamedField struct {
|
||||
NewName string
|
||||
Version string
|
||||
|
||||
callback func(label string, length int) error
|
||||
}
|
||||
|
||||
type renamedPrivateField struct {
|
||||
Name string
|
||||
Version string
|
||||
|
||||
cb func(label string, length int) error
|
||||
}
|
||||
|
||||
type additionalField struct {
|
||||
Name string
|
||||
Version string
|
||||
|
||||
callback func(label string, length int) error
|
||||
secret []byte
|
||||
}
|
||||
|
||||
type interchangedFields struct {
|
||||
Version string
|
||||
Name string
|
||||
|
||||
callback func(label string, length int) error
|
||||
}
|
||||
|
||||
type renamedCallbackFunctionParams struct { // should be equivalent
|
||||
Name string
|
||||
Version string
|
||||
|
||||
callback func(newLabel string, length int) error
|
||||
}
|
||||
|
||||
var _ = Describe("Unsafe checks", func() {
|
||||
It("detects if an unsafe conversion is safe", func() {
|
||||
Expect(structsEqual(&target{}, &target{})).To(BeTrue())
|
||||
Expect(structsEqual(&target{}, &renamedField{})).To(BeFalse())
|
||||
Expect(structsEqual(&target{}, &renamedPrivateField{})).To(BeFalse())
|
||||
Expect(structsEqual(&target{}, &additionalField{})).To(BeFalse())
|
||||
Expect(structsEqual(&target{}, &interchangedFields{})).To(BeFalse())
|
||||
Expect(structsEqual(&target{}, &renamedCallbackFunctionParams{})).To(BeTrue())
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user