webrtc/iceconnectionstate_test.go
Sean DuBois 2838b1a836 Move ICE code out of internal
Users are unable to use the callbacks inside `internal/ice`.
Even though we alias things like OnSelectedCandidatePairChange
are unusable since in the package they use `ice.Candidate` instead of
`ICECandidate`
2019-06-15 01:29:08 -07:00

56 lines
1.4 KiB
Go

package webrtc
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestNewICEConnectionState(t *testing.T) {
testCases := []struct {
stateString string
expectedState ICEConnectionState
}{
{unknownStr, ICEConnectionState(Unknown)},
{"new", ICEConnectionStateNew},
{"checking", ICEConnectionStateChecking},
{"connected", ICEConnectionStateConnected},
{"completed", ICEConnectionStateCompleted},
{"disconnected", ICEConnectionStateDisconnected},
{"failed", ICEConnectionStateFailed},
{"closed", ICEConnectionStateClosed},
}
for i, testCase := range testCases {
assert.Equal(t,
testCase.expectedState,
NewICEConnectionState(testCase.stateString),
"testCase: %d %v", i, testCase,
)
}
}
func TestICEConnectionState_String(t *testing.T) {
testCases := []struct {
state ICEConnectionState
expectedString string
}{
{ICEConnectionState(Unknown), unknownStr},
{ICEConnectionStateNew, "new"},
{ICEConnectionStateChecking, "checking"},
{ICEConnectionStateConnected, "connected"},
{ICEConnectionStateCompleted, "completed"},
{ICEConnectionStateDisconnected, "disconnected"},
{ICEConnectionStateFailed, "failed"},
{ICEConnectionStateClosed, "closed"},
}
for i, testCase := range testCases {
assert.Equal(t,
testCase.expectedString,
testCase.state.String(),
"testCase: %d %v", i, testCase,
)
}
}