package saltyim_test import ( "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "go.salty.im/saltyim" "go.yarn.social/lextwt" ) func TestFormatMessage(t *testing.T) { assert := assert.New(t) require := require.New(t) me, err := saltyim.ParseAddr(userAlice) require.NoError(err) message := "Hello World!" packed := saltyim.PackMessage(me, message) unpacked := saltyim.FormatMessage(string(packed)) assert.Contains(unpacked, userAlice) assert.Contains(unpacked, message) } func TestPackMessage(t *testing.T) { assert := assert.New(t) require := require.New(t) addr, err := saltyim.ParseAddr("alice@example.com") require.NoError(err) assert.Equal("alice", addr.User()) assert.Equal("example.com", addr.Domain()) msg := "Hello World!" packed := saltyim.PackMessage(addr, msg) require.NotNil(packed) s, err := lextwt.ParseSalty(string(packed)) require.NoError(err) st, ok := s.(*lextwt.SaltyText) require.Equal(true, ok) assert.Equal("alice@example.com", st.User.String()) assert.Equal("Hello World!", st.LiteralText()) }