package nostr import ( "slices" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func TestIsValidRelayURL(t *testing.T) { tests := []struct { u string want bool }{ {"ws://127.0.0.1", true}, {"ws://localhost", true}, {"wss://localhost", true}, {"wss://relay.nostr.com", true}, {"http://127.0.0.1", false}, {"127.0.0.1", false}, } for _, test := range tests { got := IsValidRelayURL(test.u) assert.Equal(t, test.want, got) } } func TestEventsCompare(t *testing.T) { list := []Event{ {CreatedAt: 12}, {CreatedAt: 8}, {CreatedAt: 26}, {CreatedAt: 1}, } slices.SortFunc(list, CompareEvent) require.Equal(t, []Event{ {CreatedAt: 1}, {CreatedAt: 8}, {CreatedAt: 12}, {CreatedAt: 26}, }, list) slices.SortFunc(list, CompareEventReverse) require.Equal(t, []Event{ {CreatedAt: 26}, {CreatedAt: 12}, {CreatedAt: 8}, {CreatedAt: 1}, }, list) } func TestEventsComparePtr(t *testing.T) { list := []*Event{ {CreatedAt: 12}, {CreatedAt: 8}, {CreatedAt: 26}, {CreatedAt: 1}, } slices.SortFunc(list, CompareEventPtr) require.Equal(t, []*Event{ {CreatedAt: 1}, {CreatedAt: 8}, {CreatedAt: 12}, {CreatedAt: 26}, }, list) slices.SortFunc(list, CompareEventPtrReverse) require.Equal(t, []*Event{ {CreatedAt: 26}, {CreatedAt: 12}, {CreatedAt: 8}, {CreatedAt: 1}, }, list) }