Added a test specifically to cover the NRGBA interface handling, so that I could get 100% coverage.
This commit is contained in:
parent
080e096c1d
commit
299a2b9c9d
5
oklab.go
5
oklab.go
@ -194,5 +194,8 @@ var (
|
|||||||
Model = color.ModelFunc(okLabModel)
|
Model = color.ModelFunc(okLabModel)
|
||||||
|
|
||||||
// Type assertions.
|
// Type assertions.
|
||||||
_ NRGBAColor = Color{}
|
_ interface {
|
||||||
|
color.Color
|
||||||
|
NRGBAColor
|
||||||
|
} = Color{}
|
||||||
)
|
)
|
||||||
|
@ -76,6 +76,18 @@ func fixedNRGBA64Model(c color.Color) color.Color {
|
|||||||
return color.NRGBA64Model.Convert(c)
|
return color.NRGBA64Model.Convert(c)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type testNRGBAColor struct {
|
||||||
|
color.NRGBA64
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c testNRGBAColor) NRGBA() (r, g, b, a uint32) {
|
||||||
|
return uint32(c.R), uint32(c.G), uint32(c.B), uint32(c.A)
|
||||||
|
}
|
||||||
|
|
||||||
|
func testNRGBAModel(c color.Color) color.Color {
|
||||||
|
return testNRGBAColor{fixedNRGBA64Model(c).(color.NRGBA64)}
|
||||||
|
}
|
||||||
|
|
||||||
func Test_Model(t *testing.T) {
|
func Test_Model(t *testing.T) {
|
||||||
// test to make sure we can reproduce some test colors.
|
// test to make sure we can reproduce some test colors.
|
||||||
// In particular, I want to make sure the colors can be recovered from transparent NRGBA and NRGBA64.
|
// In particular, I want to make sure the colors can be recovered from transparent NRGBA and NRGBA64.
|
||||||
@ -136,6 +148,13 @@ func Test_Model(t *testing.T) {
|
|||||||
"RGBA: invisible nothing",
|
"RGBA: invisible nothing",
|
||||||
color.RGBA{R: 0x0, G: 0x0, B: 0x0, A: 0x0},
|
color.RGBA{R: 0x0, G: 0x0, B: 0x0, A: 0x0},
|
||||||
color.RGBAModel,
|
color.RGBAModel,
|
||||||
|
}, {
|
||||||
|
// test the handling of the NRGBAColor interface; as
|
||||||
|
// all the types that support it have special handling
|
||||||
|
// that would take precidence.
|
||||||
|
"testNRGBAColor: invisible Floral White",
|
||||||
|
testNRGBAColor{color.NRGBA64{R: 0xff, G: 0xfa, B: 0xf0, A: 0x00}},
|
||||||
|
color.ModelFunc(testNRGBAModel),
|
||||||
},
|
},
|
||||||
} {
|
} {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user