21 lines
365 B
Go
21 lines
365 B
Go
package eventid
|
|
|
|
import (
|
|
"regexp"
|
|
"testing"
|
|
)
|
|
|
|
var pattern = regexp.MustCompile(`^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$`)
|
|
|
|
func TestNewMatchesContract(t *testing.T) {
|
|
for i := 0; i < 100; i++ {
|
|
id, err := New()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if !pattern.MatchString(id) {
|
|
t.Fatalf("invalid UUIDv7: %q", id)
|
|
}
|
|
}
|
|
}
|