54 lines
1.7 KiB
Go
54 lines
1.7 KiB
Go
package validate_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/akyoto/assert"
|
|
"github.com/animenotifier/notify.moe/arn/validate"
|
|
)
|
|
|
|
func TestIsValidNick(t *testing.T) {
|
|
// Invalid nicknames
|
|
assert.False(t, validate.Nick(""))
|
|
assert.False(t, validate.Nick("A"))
|
|
assert.False(t, validate.Nick("AB CD"))
|
|
assert.False(t, validate.Nick("A123"))
|
|
assert.False(t, validate.Nick("A!§$%&/()=?`"))
|
|
assert.False(t, validate.Nick("__"))
|
|
assert.False(t, validate.Nick("Tsun.Dere"))
|
|
assert.False(t, validate.Nick("Tsun Dere"))
|
|
assert.False(t, validate.Nick("さとう"))
|
|
assert.False(t, validate.Nick(string([]byte{0xff, 0xfe, 0xfd})))
|
|
|
|
// Valid nicknames
|
|
assert.True(t, validate.Nick("Tsundere"))
|
|
assert.True(t, validate.Nick("TsunDere"))
|
|
assert.True(t, validate.Nick("Tsun_Dere"))
|
|
assert.True(t, validate.Nick("Akyoto"))
|
|
}
|
|
|
|
func TestIsValidEmail(t *testing.T) {
|
|
assert.False(t, validate.Email(""))
|
|
assert.False(t, validate.Email("ç$€§/az@gmail.com"))
|
|
assert.False(t, validate.Email("abc@gmail_yahoo.com"))
|
|
assert.True(t, validate.Email("abc@gmail-yahoo.com"))
|
|
assert.True(t, validate.Email("support@notify.moe"))
|
|
}
|
|
|
|
func TestIsValidDate(t *testing.T) {
|
|
assert.False(t, validate.DateTime(""))
|
|
assert.False(t, validate.DateTime("0001-01-01T01:01:00Z"))
|
|
assert.False(t, validate.DateTime("292277026596-12-04T15:30:07Z"))
|
|
assert.True(t, validate.DateTime("2017-03-09T10:25:00Z"))
|
|
}
|
|
|
|
func TestIsValidURI(t *testing.T) {
|
|
assert.False(t, validate.URI(""))
|
|
assert.False(t, validate.URI("a"))
|
|
assert.False(t, validate.URI("google.com"))
|
|
assert.True(t, validate.URI("https://google.com"))
|
|
assert.True(t, validate.URI("https://google.com/"))
|
|
assert.True(t, validate.URI("https://google.com/images"))
|
|
assert.True(t, validate.URI("https://google.com/images/"))
|
|
}
|