photoprism/pkg/txt/empty_test.go

215 lines
5.8 KiB
Go

package txt
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestEmpty(t *testing.T) {
t.Run("Empty", func(t *testing.T) {
assert.Equal(t, true, Empty(""))
})
t.Run("EnNew", func(t *testing.T) {
assert.Equal(t, false, Empty(EnNew))
})
t.Run("Spaces", func(t *testing.T) {
assert.Equal(t, false, Empty(" new "))
})
t.Run("Uppercase", func(t *testing.T) {
assert.Equal(t, false, Empty("NEW"))
})
t.Run("Lowercase", func(t *testing.T) {
assert.Equal(t, false, Empty("new"))
})
t.Run("True", func(t *testing.T) {
assert.Equal(t, false, Empty("New"))
})
t.Run("False", func(t *testing.T) {
assert.Equal(t, false, Empty("non"))
})
t.Run("0", func(t *testing.T) {
assert.Equal(t, true, Empty("0"))
})
t.Run("-1", func(t *testing.T) {
assert.Equal(t, true, Empty("-1"))
})
t.Run("Date", func(t *testing.T) {
assert.Equal(t, true, Empty("0000:00:00 00:00:00"))
})
t.Run("nil", func(t *testing.T) {
assert.Equal(t, true, Empty("nil"))
})
t.Run("NaN", func(t *testing.T) {
assert.Equal(t, true, Empty("NaN"))
})
t.Run("NULL", func(t *testing.T) {
assert.Equal(t, true, Empty("NULL"))
})
t.Run("*", func(t *testing.T) {
assert.Equal(t, true, Empty("*"))
})
t.Run("%", func(t *testing.T) {
assert.Equal(t, true, Empty("%"))
})
t.Run("-", func(t *testing.T) {
assert.True(t, Empty("-"))
})
t.Run("z", func(t *testing.T) {
assert.True(t, Empty("z"))
})
t.Run("zz", func(t *testing.T) {
assert.False(t, Empty("zz"))
})
}
func TestNotEmpty(t *testing.T) {
t.Run("Empty", func(t *testing.T) {
assert.Equal(t, false, NotEmpty(""))
})
t.Run("EnNew", func(t *testing.T) {
assert.Equal(t, true, NotEmpty(EnNew))
})
t.Run("Spaces", func(t *testing.T) {
assert.Equal(t, true, NotEmpty(" new "))
})
t.Run("Uppercase", func(t *testing.T) {
assert.Equal(t, true, NotEmpty("NEW"))
})
t.Run("Lowercase", func(t *testing.T) {
assert.Equal(t, true, NotEmpty("new"))
})
t.Run("True", func(t *testing.T) {
assert.Equal(t, true, NotEmpty("New"))
})
t.Run("False", func(t *testing.T) {
assert.Equal(t, true, NotEmpty("non"))
})
t.Run("0", func(t *testing.T) {
assert.Equal(t, false, NotEmpty("0"))
})
t.Run("-1", func(t *testing.T) {
assert.Equal(t, false, NotEmpty("-1"))
})
t.Run("Date", func(t *testing.T) {
assert.Equal(t, false, NotEmpty("0000:00:00 00:00:00"))
})
t.Run("nil", func(t *testing.T) {
assert.Equal(t, false, NotEmpty("nil"))
})
t.Run("NaN", func(t *testing.T) {
assert.Equal(t, false, NotEmpty("NaN"))
})
t.Run("NULL", func(t *testing.T) {
assert.Equal(t, false, NotEmpty("NULL"))
})
t.Run("*", func(t *testing.T) {
assert.Equal(t, false, NotEmpty("*"))
})
t.Run("%", func(t *testing.T) {
assert.Equal(t, false, NotEmpty("%"))
})
t.Run("-", func(t *testing.T) {
assert.False(t, NotEmpty("-"))
})
t.Run("z", func(t *testing.T) {
assert.False(t, NotEmpty("z"))
})
t.Run("zz", func(t *testing.T) {
assert.True(t, NotEmpty("zz"))
})
}
func TestEmptyDateTime(t *testing.T) {
t.Run("Empty", func(t *testing.T) {
assert.True(t, EmptyDateTime(""))
})
t.Run("-", func(t *testing.T) {
assert.True(t, EmptyDateTime("-"))
})
t.Run("z", func(t *testing.T) {
assert.True(t, EmptyDateTime("z"))
})
t.Run("zz", func(t *testing.T) {
assert.False(t, EmptyDateTime("zz"))
})
t.Run("0", func(t *testing.T) {
assert.True(t, EmptyDateTime("0"))
})
t.Run("00-00-00", func(t *testing.T) {
assert.True(t, EmptyDateTime("00-00-00"))
})
t.Run("0000-00-00", func(t *testing.T) {
assert.True(t, EmptyDateTime("0000-00-00"))
})
t.Run("00:00:00", func(t *testing.T) {
assert.True(t, EmptyDateTime("00:00:00"))
})
t.Run("0000:00:00", func(t *testing.T) {
assert.True(t, EmptyDateTime("0000:00:00"))
})
t.Run("0000-00-00 00-00-00", func(t *testing.T) {
assert.True(t, EmptyDateTime("0000-00-00 00-00-00"))
})
t.Run("0000:00:00 00:00:00", func(t *testing.T) {
assert.True(t, EmptyDateTime("0000:00:00 00:00:00"))
})
t.Run("0000-00-00 00:00:00", func(t *testing.T) {
assert.True(t, EmptyDateTime("0000-00-00 00:00:00"))
})
t.Run("0001-01-01 00:00:00 +0000 UTC", func(t *testing.T) {
assert.True(t, EmptyDateTime("0001-01-01 00:00:00 +0000 UTC"))
})
}
func TestDateTimeDefault(t *testing.T) {
t.Run("Empty", func(t *testing.T) {
assert.True(t, DateTimeDefault(""))
})
t.Run("nil", func(t *testing.T) {
assert.True(t, DateTimeDefault("nil"))
})
t.Run("2002", func(t *testing.T) {
assert.False(t, DateTimeDefault("2002"))
})
t.Run("1970-01-01", func(t *testing.T) {
assert.True(t, DateTimeDefault("1970-01-01"))
})
t.Run("1980-01-01", func(t *testing.T) {
assert.True(t, DateTimeDefault("1980-01-01"))
})
t.Run("1970-01-01 00:00:00", func(t *testing.T) {
assert.True(t, DateTimeDefault("1970-01-01 00:00:00"))
})
t.Run("1970:01:01 00:00:00", func(t *testing.T) {
assert.True(t, DateTimeDefault("1970:01:01 00:00:00"))
})
t.Run("1980-01-01 00:00:00", func(t *testing.T) {
assert.True(t, DateTimeDefault("1980-01-01 00:00:00"))
})
t.Run("1980:01:01 00:00:00", func(t *testing.T) {
assert.True(t, DateTimeDefault("1980:01:01 00:00:00"))
})
t.Run("2002-12-08 12:00:00", func(t *testing.T) {
assert.True(t, DateTimeDefault("2002-12-08 12:00:00"))
})
t.Run("2002:12:08 12:00:00", func(t *testing.T) {
assert.True(t, DateTimeDefault("2002:12:08 12:00:00"))
})
t.Run("0000-00-00", func(t *testing.T) {
assert.True(t, DateTimeDefault("0000-00-00"))
})
t.Run("0000-00-00 00-00-00", func(t *testing.T) {
assert.True(t, DateTimeDefault("0000-00-00 00-00-00"))
})
t.Run("0000:00:00 00:00:00", func(t *testing.T) {
assert.True(t, DateTimeDefault("0000:00:00 00:00:00"))
})
t.Run("0000-00-00 00:00:00", func(t *testing.T) {
assert.True(t, DateTimeDefault("0000-00-00 00:00:00"))
})
t.Run("0001-01-01 00:00:00 +0000 UTC", func(t *testing.T) {
assert.True(t, DateTimeDefault("0001-01-01 00:00:00 +0000 UTC"))
})
}