2025-03-14 19:50:24 -05:00
|
|
|
package nomino
|
|
|
|
|
|
|
|
|
|
import (
|
2025-03-15 20:09:38 -05:00
|
|
|
"crypto"
|
2025-03-14 19:50:24 -05:00
|
|
|
"testing"
|
|
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestSlugMissingFilename(t *testing.T) {
|
|
|
|
|
conf := NewConfig(WithGenerator(Slug()))
|
|
|
|
|
st, err := conf.generator(&conf)
|
|
|
|
|
assert.Zero(t, st)
|
|
|
|
|
assert.ErrorIs(t, err, ErrMissingOriginal)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestSlugRemovesOriginal(t *testing.T) {
|
|
|
|
|
conf := NewConfig(WithGenerator(Slug()), WithOriginal("Hello, World"))
|
|
|
|
|
st, err := conf.generator(&conf)
|
|
|
|
|
assert.Zero(t, conf.original)
|
|
|
|
|
assert.Equal(t, "hello-world", st)
|
|
|
|
|
assert.NoError(t, err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestHashBadHash(t *testing.T) {
|
2025-03-15 20:09:38 -05:00
|
|
|
conf := NewConfig(WithOriginal("foobar"), WithGenerator(Hash(crypto.MD5SHA1)))
|
2025-03-14 19:50:24 -05:00
|
|
|
st, err := conf.generator(&conf)
|
|
|
|
|
assert.Equal(t, "", st)
|
2025-03-15 20:09:38 -05:00
|
|
|
assert.ErrorIs(t, err, ErrInvalidHash)
|
2025-03-14 19:50:24 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestHashMissingOriginal(t *testing.T) {
|
2025-03-15 20:09:38 -05:00
|
|
|
conf := NewConfig(WithGenerator(Hash(nil)))
|
2025-03-14 19:50:24 -05:00
|
|
|
st, err := conf.generator(&conf)
|
|
|
|
|
assert.Equal(t, "", st)
|
|
|
|
|
assert.ErrorIs(t, err, ErrMissingOriginal)
|
|
|
|
|
}
|