You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description
When generating matchers for a given interface method using Pegomock, it fails to create proper matchers for the empty struct type: struct{}.
As a result, anything that passes around empty struct channels (for event purposes) has incorrect matchers created.
Steps to Reproduce
Generate a mock and the matchers associated to this interface:
The filename of the matcher: recv_chan_of_struct{}.go
The output of the matchers which includes the {} of the empty struct in the names of the methods.
// Code generated by pegomock. DO NOT EDIT.package matchers
import (
"reflect""github.com/petergtz/pegomock"
)
funcAnyRecvChanOfStruct{}() <-chanstruct{} {
pegomock.RegisterMatcher(pegomock.NewAnyMatcher(reflect.TypeOf((*(<-chanstruct{}))(nil)).Elem()))
varnullValue<-chanstruct{}
returnnullValue
}
funcEqRecvChanOfStruct{}(value<-chanstruct{}) <-chanstruct{} {
pegomock.RegisterMatcher(&pegomock.EqMatcher{Value: value})
varnullValue<-chanstruct{}
returnnullValue
}
Thoughts
This might be just due to how we are naming things based on the type name. If so, this could theoretically be a spot fix based on any type of struct{}.
The text was updated successfully, but these errors were encountered:
Please note that the actual Mock object itself is CORRECT. Everything properly compiles and works from that front, it just seems like the generate of the matchers fails.
Hi @jpopadak, thanks for reporting this. Unfortunately, I'm not able to work on this any time soon. If you want to submit a PR, I'm more than happy to merge it.
Description
When generating matchers for a given interface method using Pegomock, it fails to create proper matchers for the empty struct type:
struct{}
.As a result, anything that passes around empty struct channels (for event purposes) has incorrect matchers created.
Steps to Reproduce
Generate a mock and the matchers associated to this interface:
Note:
recv_chan_of_struct{}.go
{}
of the empty struct in the names of the methods.Thoughts
This might be just due to how we are naming things based on the type name. If so, this could theoretically be a spot fix based on any type of
struct{}
.The text was updated successfully, but these errors were encountered: