...

Source file src/github.com/alecthomas/chroma/colour_test.go

Documentation: github.com/alecthomas/chroma

     1  package chroma
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  )
     8  
     9  func TestColourRGB(t *testing.T) {
    10  	colour := ParseColour("#8913af")
    11  	assert.Equal(t, uint8(0x89), colour.Red())
    12  	assert.Equal(t, uint8(0x13), colour.Green())
    13  	assert.Equal(t, uint8(0xaf), colour.Blue())
    14  }
    15  
    16  func TestColourString(t *testing.T) {
    17  	assert.Equal(t, "#8913af", ParseColour("#8913af").String())
    18  }
    19  
    20  func distance(a, b uint8) uint8 {
    21  	if a < b {
    22  		return b - a
    23  	}
    24  	return a - b
    25  }
    26  
    27  func TestColourBrighten(t *testing.T) {
    28  	actual := NewColour(128, 128, 128).Brighten(0.5)
    29  	// Closeish to what we expect is fine.
    30  	assert.True(t, distance(192, actual.Red()) <= 2)
    31  	assert.True(t, distance(192, actual.Blue()) <= 2)
    32  	assert.True(t, distance(192, actual.Green()) <= 2)
    33  	actual = NewColour(128, 128, 128).Brighten(-0.5)
    34  	assert.True(t, distance(65, actual.Red()) <= 2)
    35  	assert.True(t, distance(65, actual.Blue()) <= 2)
    36  	assert.True(t, distance(65, actual.Green()) <= 2)
    37  }
    38  
    39  func TestColourBrightess(t *testing.T) {
    40  	actual := NewColour(128, 128, 128).Brightness()
    41  	assert.True(t, distance(128, uint8(actual*255.0)) <= 2)
    42  }
    43  

View as plain text