mirror of
https://github.com/charmbracelet/glow
synced 2024-11-05 16:23:00 +00:00
48 lines
1.2 KiB
Go
48 lines
1.2 KiB
Go
package ui
|
|
|
|
import (
|
|
"reflect"
|
|
"testing"
|
|
)
|
|
|
|
func TestDocTypeContains(t *testing.T) {
|
|
d := NewDocTypeSet(LocalDoc)
|
|
|
|
if !d.Contains(LocalDoc) {
|
|
t.Error("Contains reported it doesn't contain a value which it absolutely does contain")
|
|
}
|
|
|
|
if d.Contains(NewsDoc) {
|
|
t.Error("Contains reported the set contains a value it certainly does not")
|
|
}
|
|
}
|
|
|
|
func TestDocTypeDifference(t *testing.T) {
|
|
original := NewDocTypeSet(LocalDoc, StashedDoc, ConvertedDoc, NewsDoc)
|
|
difference := original.Difference(LocalDoc, NewsDoc)
|
|
expected := NewDocTypeSet(StashedDoc, ConvertedDoc)
|
|
|
|
// Make sure the difference operation worked
|
|
if !reflect.DeepEqual(difference, expected) {
|
|
t.Errorf("difference returned %+v; expected %+v", difference, expected)
|
|
}
|
|
|
|
// Make sure original set was not mutated
|
|
if reflect.DeepEqual(original, difference) {
|
|
t.Errorf("original set was mutated when it should not have been")
|
|
}
|
|
}
|
|
|
|
func TestDocTypeEquality(t *testing.T) {
|
|
a := NewDocTypeSet(LocalDoc, StashedDoc)
|
|
b := NewDocTypeSet(LocalDoc, StashedDoc)
|
|
c := NewDocTypeSet(LocalDoc)
|
|
|
|
if !a.Equals(b) {
|
|
t.Errorf("Equality test failed for %+v and %+v; expected true, got false", a, b)
|
|
}
|
|
|
|
if a.Equals(c) {
|
|
t.Errorf("Equality test failed for %+v and %+v; expected false, got true", a, c)
|
|
}
|
|
}
|