...

Source file src/github.com/alecthomas/chroma/style_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 TestStyleInherit(t *testing.T) {
    10  	s, err := NewStyle("test", StyleEntries{
    11  		Name:         "bold #f00",
    12  		NameVariable: "#fff",
    13  	})
    14  	assert.NoError(t, err)
    15  	assert.Equal(t, StyleEntry{Colour: 0x1000000, Bold: Yes}, s.Get(NameVariable))
    16  }
    17  
    18  func TestStyleColours(t *testing.T) {
    19  	s, err := NewStyle("test", StyleEntries{
    20  		Name: "#f00 bg:#001 border:#ansiblue",
    21  	})
    22  	assert.NoError(t, err)
    23  	assert.Equal(t, StyleEntry{Colour: 0xff0001, Background: 0x000012, Border: 0x000100}, s.Get(Name))
    24  }
    25  
    26  func TestStyleClone(t *testing.T) {
    27  	parent, err := NewStyle("test", StyleEntries{
    28  		Background: "bg:#ffffff",
    29  	})
    30  	assert.NoError(t, err)
    31  	clone, err := parent.Builder().Add(Comment, "#0f0").Build()
    32  	assert.NoError(t, err)
    33  
    34  	assert.Equal(t, "bg:#ffffff", clone.Get(Background).String())
    35  	assert.Equal(t, "#00ff00 bg:#ffffff", clone.Get(Comment).String())
    36  	assert.Equal(t, "bg:#ffffff", parent.Get(Comment).String())
    37  }
    38  
    39  func TestSynthesisedStyleEntries(t *testing.T) {
    40  	style, err := NewStyle("test", StyleEntries{
    41  		Background: "bg:#ffffff",
    42  	})
    43  	assert.NoError(t, err)
    44  	assert.True(t, style.Has(LineHighlight))
    45  	assert.True(t, style.Has(LineNumbersTable))
    46  	assert.True(t, style.Has(LineNumbers))
    47  	assert.Equal(t, "bg:#e5e5e5", style.Get(LineHighlight).String())
    48  	assert.Equal(t, "#7f7f7f bg:#ffffff", style.Get(LineNumbers).String())
    49  	assert.Equal(t, "#7f7f7f bg:#ffffff", style.Get(LineNumbersTable).String())
    50  }
    51  
    52  func TestSynthesisedStyleClone(t *testing.T) {
    53  	style, err := NewStyle("test", StyleEntries{
    54  		Background:    "bg:#ffffff",
    55  		LineHighlight: "bg:#ffffff",
    56  		LineNumbers:   "bg:#fffff1",
    57  	})
    58  	assert.NoError(t, err)
    59  	style, err = style.Builder().Build()
    60  	assert.NoError(t, err)
    61  	assert.True(t, style.Has(LineHighlight))
    62  	assert.True(t, style.Has(LineNumbers))
    63  	assert.Equal(t, "bg:#ffffff", style.Get(LineHighlight).String())
    64  	assert.Equal(t, "bg:#fffff1", style.Get(LineNumbers).String())
    65  }
    66  

View as plain text