Skip to content

Commit

Permalink
fix: reduce dependencies
Browse files Browse the repository at this point in the history
Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
  • Loading branch information
caarlos0 authored and muesli committed Feb 3, 2023
1 parent b5904dc commit 19f734e
Show file tree
Hide file tree
Showing 3 changed files with 104 additions and 98 deletions.
1 change: 0 additions & 1 deletion go.mod
Expand Up @@ -6,5 +6,4 @@ require (
github.com/mattn/go-runewidth v0.0.14
github.com/muesli/reflow v0.2.1-0.20210115123740-9e1d0d53df68
github.com/muesli/termenv v0.11.1-0.20220204035834-5ac8409525e0
github.com/stretchr/testify v1.8.1
)
17 changes: 0 additions & 17 deletions go.sum
@@ -1,6 +1,3 @@
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=
Expand All @@ -13,22 +10,8 @@ github.com/muesli/reflow v0.2.1-0.20210115123740-9e1d0d53df68 h1:y1p/ycavWjGT9Fn
github.com/muesli/reflow v0.2.1-0.20210115123740-9e1d0d53df68/go.mod h1:Xk+z4oIWdQqJzsxyjgl3P22oYZnHdZ8FFTHAQQt5BMQ=
github.com/muesli/termenv v0.11.1-0.20220204035834-5ac8409525e0 h1:STjmj0uFfRryL9fzRA/OupNppeAID6QJYPMavTL7jtY=
github.com/muesli/termenv v0.11.1-0.20220204035834-5ac8409525e0/go.mod h1:Bd5NYQ7pd+SrtBSrSNoBBmXlcY8+Xj4BMJgh8qcZrvs=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c h1:F1jZWGFhYfh0Ci55sIpILtKKK8p3i2/krTr0H1rg74I=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
184 changes: 104 additions & 80 deletions style_test.go
@@ -1,10 +1,10 @@
package lipgloss

import (
"reflect"
"testing"

"github.com/muesli/termenv"
"github.com/stretchr/testify/require"
)

func TestStyleRender(t *testing.T) {
Expand Down Expand Up @@ -60,7 +60,7 @@ func TestValueCopy(t *testing.T) {
i := s
i.Bold(false)

require.Equal(t, s.GetBold(), i.GetBold())
requireEqual(t, s.GetBold(), i.GetBold())
}

func TestStyleInherit(t *testing.T) {
Expand All @@ -80,23 +80,23 @@ func TestStyleInherit(t *testing.T) {

i := NewStyle().Inherit(s)

require.Equal(t, s.GetBold(), i.GetBold())
require.Equal(t, s.GetItalic(), i.GetItalic())
require.Equal(t, s.GetUnderline(), i.GetUnderline())
require.Equal(t, s.GetStrikethrough(), i.GetStrikethrough())
require.Equal(t, s.GetBlink(), i.GetBlink())
require.Equal(t, s.GetFaint(), i.GetFaint())
require.Equal(t, s.GetForeground(), i.GetForeground())
require.Equal(t, s.GetBackground(), i.GetBackground())

require.NotEqual(t, s.GetMarginLeft(), i.GetMarginLeft())
require.NotEqual(t, s.GetMarginRight(), i.GetMarginRight())
require.NotEqual(t, s.GetMarginTop(), i.GetMarginTop())
require.NotEqual(t, s.GetMarginBottom(), i.GetMarginBottom())
require.NotEqual(t, s.GetPaddingLeft(), i.GetPaddingLeft())
require.NotEqual(t, s.GetPaddingRight(), i.GetPaddingRight())
require.NotEqual(t, s.GetPaddingTop(), i.GetPaddingTop())
require.NotEqual(t, s.GetPaddingBottom(), i.GetPaddingBottom())
requireEqual(t, s.GetBold(), i.GetBold())
requireEqual(t, s.GetItalic(), i.GetItalic())
requireEqual(t, s.GetUnderline(), i.GetUnderline())
requireEqual(t, s.GetStrikethrough(), i.GetStrikethrough())
requireEqual(t, s.GetBlink(), i.GetBlink())
requireEqual(t, s.GetFaint(), i.GetFaint())
requireEqual(t, s.GetForeground(), i.GetForeground())
requireEqual(t, s.GetBackground(), i.GetBackground())

requireNotEqual(t, s.GetMarginLeft(), i.GetMarginLeft())
requireNotEqual(t, s.GetMarginRight(), i.GetMarginRight())
requireNotEqual(t, s.GetMarginTop(), i.GetMarginTop())
requireNotEqual(t, s.GetMarginBottom(), i.GetMarginBottom())
requireNotEqual(t, s.GetPaddingLeft(), i.GetPaddingLeft())
requireNotEqual(t, s.GetPaddingRight(), i.GetPaddingRight())
requireNotEqual(t, s.GetPaddingTop(), i.GetPaddingTop())
requireNotEqual(t, s.GetPaddingBottom(), i.GetPaddingBottom())
}

func TestStyleCopy(t *testing.T) {
Expand All @@ -116,133 +116,133 @@ func TestStyleCopy(t *testing.T) {

i := s.Copy()

require.Equal(t, s.GetBold(), i.GetBold())
require.Equal(t, s.GetItalic(), i.GetItalic())
require.Equal(t, s.GetUnderline(), i.GetUnderline())
require.Equal(t, s.GetStrikethrough(), i.GetStrikethrough())
require.Equal(t, s.GetBlink(), i.GetBlink())
require.Equal(t, s.GetFaint(), i.GetFaint())
require.Equal(t, s.GetForeground(), i.GetForeground())
require.Equal(t, s.GetBackground(), i.GetBackground())

require.Equal(t, s.GetMarginLeft(), i.GetMarginLeft())
require.Equal(t, s.GetMarginRight(), i.GetMarginRight())
require.Equal(t, s.GetMarginTop(), i.GetMarginTop())
require.Equal(t, s.GetMarginBottom(), i.GetMarginBottom())
require.Equal(t, s.GetPaddingLeft(), i.GetPaddingLeft())
require.Equal(t, s.GetPaddingRight(), i.GetPaddingRight())
require.Equal(t, s.GetPaddingTop(), i.GetPaddingTop())
require.Equal(t, s.GetPaddingBottom(), i.GetPaddingBottom())
requireEqual(t, s.GetBold(), i.GetBold())
requireEqual(t, s.GetItalic(), i.GetItalic())
requireEqual(t, s.GetUnderline(), i.GetUnderline())
requireEqual(t, s.GetStrikethrough(), i.GetStrikethrough())
requireEqual(t, s.GetBlink(), i.GetBlink())
requireEqual(t, s.GetFaint(), i.GetFaint())
requireEqual(t, s.GetForeground(), i.GetForeground())
requireEqual(t, s.GetBackground(), i.GetBackground())

requireEqual(t, s.GetMarginLeft(), i.GetMarginLeft())
requireEqual(t, s.GetMarginRight(), i.GetMarginRight())
requireEqual(t, s.GetMarginTop(), i.GetMarginTop())
requireEqual(t, s.GetMarginBottom(), i.GetMarginBottom())
requireEqual(t, s.GetPaddingLeft(), i.GetPaddingLeft())
requireEqual(t, s.GetPaddingRight(), i.GetPaddingRight())
requireEqual(t, s.GetPaddingTop(), i.GetPaddingTop())
requireEqual(t, s.GetPaddingBottom(), i.GetPaddingBottom())
}

func TestStyleUnset(t *testing.T) {
t.Parallel()

s := NewStyle().Bold(true)
require.True(t, s.GetBold())
requireTrue(t, s.GetBold())
s.UnsetBold()
require.False(t, s.GetBold())
requireFalse(t, s.GetBold())

s = NewStyle().Italic(true)
require.True(t, s.GetItalic())
requireTrue(t, s.GetItalic())
s.UnsetItalic()
require.False(t, s.GetItalic())
requireFalse(t, s.GetItalic())

s = NewStyle().Underline(true)
require.True(t, s.GetUnderline())
requireTrue(t, s.GetUnderline())
s.UnsetUnderline()
require.False(t, s.GetUnderline())
requireFalse(t, s.GetUnderline())

s = NewStyle().Strikethrough(true)
require.True(t, s.GetStrikethrough())
requireTrue(t, s.GetStrikethrough())
s.UnsetStrikethrough()
require.False(t, s.GetStrikethrough())
requireFalse(t, s.GetStrikethrough())

s = NewStyle().Reverse(true)
require.True(t, s.GetReverse())
requireTrue(t, s.GetReverse())
s.UnsetReverse()
require.False(t, s.GetReverse())
requireFalse(t, s.GetReverse())

s = NewStyle().Blink(true)
require.True(t, s.GetBlink())
requireTrue(t, s.GetBlink())
s.UnsetBlink()
require.False(t, s.GetBlink())
requireFalse(t, s.GetBlink())

s = NewStyle().Faint(true)
require.True(t, s.GetFaint())
requireTrue(t, s.GetFaint())
s.UnsetFaint()
require.False(t, s.GetFaint())
requireFalse(t, s.GetFaint())

s = NewStyle().Inline(true)
require.True(t, s.GetInline())
requireTrue(t, s.GetInline())
s.UnsetInline()
require.False(t, s.GetInline())
requireFalse(t, s.GetInline())

// colors
col := Color("#ffffff")
s = NewStyle().Foreground(col)
require.Equal(t, col, s.GetForeground())
requireEqual(t, col, s.GetForeground())
s.UnsetForeground()
require.NotEqual(t, col, s.GetForeground())
requireNotEqual(t, col, s.GetForeground())

s = NewStyle().Background(col)
require.Equal(t, col, s.GetBackground())
requireEqual(t, col, s.GetBackground())
s.UnsetBackground()
require.NotEqual(t, col, s.GetBackground())
requireNotEqual(t, col, s.GetBackground())

// margins
s = NewStyle().Margin(1, 2, 3, 4)
require.Equal(t, 1, s.GetMarginTop())
requireEqual(t, 1, s.GetMarginTop())
s.UnsetMarginTop()
require.Equal(t, 0, s.GetMarginTop())
requireEqual(t, 0, s.GetMarginTop())

require.Equal(t, 2, s.GetMarginRight())
requireEqual(t, 2, s.GetMarginRight())
s.UnsetMarginRight()
require.Equal(t, 0, s.GetMarginRight())
requireEqual(t, 0, s.GetMarginRight())

require.Equal(t, 3, s.GetMarginBottom())
requireEqual(t, 3, s.GetMarginBottom())
s.UnsetMarginBottom()
require.Equal(t, 0, s.GetMarginBottom())
requireEqual(t, 0, s.GetMarginBottom())

require.Equal(t, 4, s.GetMarginLeft())
requireEqual(t, 4, s.GetMarginLeft())
s.UnsetMarginLeft()
require.Equal(t, 0, s.GetMarginLeft())
requireEqual(t, 0, s.GetMarginLeft())

// padding
s = NewStyle().Padding(1, 2, 3, 4)
require.Equal(t, 1, s.GetPaddingTop())
requireEqual(t, 1, s.GetPaddingTop())
s.UnsetPaddingTop()
require.Equal(t, 0, s.GetPaddingTop())
requireEqual(t, 0, s.GetPaddingTop())

require.Equal(t, 2, s.GetPaddingRight())
requireEqual(t, 2, s.GetPaddingRight())
s.UnsetPaddingRight()
require.Equal(t, 0, s.GetPaddingRight())
requireEqual(t, 0, s.GetPaddingRight())

require.Equal(t, 3, s.GetPaddingBottom())
requireEqual(t, 3, s.GetPaddingBottom())
s.UnsetPaddingBottom()
require.Equal(t, 0, s.GetPaddingBottom())
requireEqual(t, 0, s.GetPaddingBottom())

require.Equal(t, 4, s.GetPaddingLeft())
requireEqual(t, 4, s.GetPaddingLeft())
s.UnsetPaddingLeft()
require.Equal(t, 0, s.GetPaddingLeft())
requireEqual(t, 0, s.GetPaddingLeft())

// border
s = NewStyle().Border(normalBorder, true, true, true, true)
require.True(t, s.GetBorderTop())
requireTrue(t, s.GetBorderTop())
s.UnsetBorderTop()
require.False(t, s.GetBorderTop())
requireFalse(t, s.GetBorderTop())

require.True(t, s.GetBorderRight())
requireTrue(t, s.GetBorderRight())
s.UnsetBorderRight()
require.False(t, s.GetBorderRight())
requireFalse(t, s.GetBorderRight())

require.True(t, s.GetBorderBottom())
requireTrue(t, s.GetBorderBottom())
s.UnsetBorderBottom()
require.False(t, s.GetBorderBottom())
requireFalse(t, s.GetBorderBottom())

require.True(t, s.GetBorderLeft())
requireTrue(t, s.GetBorderLeft())
s.UnsetBorderLeft()
require.False(t, s.GetBorderLeft())
requireFalse(t, s.GetBorderLeft())
}

func BenchmarkStyleRender(b *testing.B) {
Expand All @@ -254,3 +254,27 @@ func BenchmarkStyleRender(b *testing.B) {
s.Render("Hello world")
}
}

func requireTrue(tb testing.TB, b bool) {
requireEqual(tb, true, b)
}

func requireFalse(tb testing.TB, b bool) {
requireEqual(tb, false, b)
}

func requireEqual(tb testing.TB, a, b interface{}) {
tb.Helper()
if !reflect.DeepEqual(a, b) {
tb.Errorf("%v != %v", a, b)
tb.FailNow()
}
}

func requireNotEqual(tb testing.TB, a, b interface{}) {
tb.Helper()
if reflect.DeepEqual(a, b) {
tb.Errorf("%v == %v", a, b)
tb.FailNow()
}
}

0 comments on commit 19f734e

Please sign in to comment.