photoprism/pkg/txt/strings_test.go

107 lines
3.3 KiB
Go
Raw Normal View History

package txt
2019-07-17 11:26:20 +00:00
import (
"testing"
"github.com/stretchr/testify/assert"
2019-07-17 11:26:20 +00:00
)
2019-12-17 16:03:56 +00:00
func TestContainsNumber(t *testing.T) {
t.Run("True", func(t *testing.T) {
assert.Equal(t, true, ContainsNumber("f3abcde"))
})
t.Run("False", func(t *testing.T) {
assert.Equal(t, false, ContainsNumber("abcd"))
})
}
2019-07-17 11:26:20 +00:00
func TestIsSeparator(t *testing.T) {
t.Run("rune A", func(t *testing.T) {
assert.Equal(t, false, isSeparator('A'))
})
t.Run("rune 99", func(t *testing.T) {
2019-07-17 13:34:34 +00:00
assert.Equal(t, false, isSeparator('9'))
2019-07-17 11:26:20 +00:00
})
t.Run("rune /", func(t *testing.T) {
assert.Equal(t, true, isSeparator('/'))
})
t.Run("rune \\", func(t *testing.T) {
assert.Equal(t, true, isSeparator('\\'))
})
t.Run("rune ♥ ", func(t *testing.T) {
assert.Equal(t, false, isSeparator('♥'))
})
t.Run("rune space", func(t *testing.T) {
assert.Equal(t, true, isSeparator(' '))
})
t.Run("rune '", func(t *testing.T) {
assert.Equal(t, false, isSeparator('\''))
})
2019-07-17 13:34:34 +00:00
t.Run("rune ý", func(t *testing.T) {
assert.Equal(t, false, isSeparator('ý'))
})
2019-07-17 11:26:20 +00:00
}
func TestUcFirst(t *testing.T) {
t.Run("photo-lover", func(t *testing.T) {
assert.Equal(t, "Photo-lover", UcFirst("photo-lover"))
})
t.Run("cat", func(t *testing.T) {
assert.Equal(t, "Cat", UcFirst("Cat"))
})
t.Run("empty string", func(t *testing.T) {
assert.Equal(t, "", UcFirst(""))
})
2019-07-17 11:26:20 +00:00
}
func TestTitle(t *testing.T) {
2020-04-28 15:03:37 +00:00
t.Run("Browse your life in pictures", func(t *testing.T) {
2019-07-17 11:26:20 +00:00
assert.Equal(t, "Browse Your Life In Pictures", Title("Browse your life in pictures"))
})
2020-04-28 15:03:37 +00:00
t.Run("photo-lover", func(t *testing.T) {
2019-07-17 11:26:20 +00:00
assert.Equal(t, "Photo-Lover", Title("photo-lover"))
})
}
2020-04-28 15:03:37 +00:00
func TestTitleFromFileName(t *testing.T) {
t.Run("Browse your life in pictures", func(t *testing.T) {
assert.Equal(t, "Browse Your Life In Pictures", TitleFromFileName("Browse your life in pictures"))
})
t.Run("photo-lover", func(t *testing.T) {
assert.Equal(t, "Photo Lover", TitleFromFileName("photo-lover"))
})
t.Run("BRIDGE", func(t *testing.T) {
assert.Equal(t, "Bridge", TitleFromFileName("Bridge"))
})
t.Run("IMG_4568", func(t *testing.T) {
assert.Equal(t, "", TitleFromFileName("IMG_4568"))
})
t.Run("queen-city-yacht-club--toronto-island_7999432607_o.jpg", func(t *testing.T) {
assert.Equal(t, "Queen City Yacht Club / Toronto Island", TitleFromFileName("queen-city-yacht-club--toronto-island_7999432607_o.jpg"))
})
t.Run("tim-robbins--tiff-2012_7999233420_o.jpg", func(t *testing.T) {
assert.Equal(t, "Tim Robbins / Tiff", TitleFromFileName("tim-robbins--tiff-2012_7999233420_o.jpg"))
})
t.Run("20200102-204030-Berlin-Germany-2020-3h4.jpg", func(t *testing.T) {
assert.Equal(t, "Berlin Germany", TitleFromFileName("20200102-204030-Berlin-Germany-2020-3h4.jpg"))
})
t.Run("changing-of-the-guard--buckingham-palace_7925318070_o.jpg", func(t *testing.T) {
assert.Equal(t, "Changing Of The Guard / Buckingham Palace", TitleFromFileName("changing-of-the-guard--buckingham-palace_7925318070_o.jpg"))
})
}
2020-04-28 15:03:37 +00:00
func TestBool(t *testing.T) {
t.Run("not empty", func(t *testing.T) {
assert.Equal(t, true, Bool("Browse your life in pictures"))
})
t.Run("no", func(t *testing.T) {
assert.Equal(t, false, Bool("no"))
})
t.Run("false", func(t *testing.T) {
assert.Equal(t, false, Bool("false"))
})
t.Run("empty", func(t *testing.T) {
assert.Equal(t, false, Bool(""))
})
}