Files
webrtc/icecandidatetype_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

55 lines
1.2 KiB
Go

package webrtc
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestICECandidateType(t *testing.T) {
testCases := []struct {
typeString string
shouldFail bool
expectedType ICECandidateType
}{
{unknownStr, true, ICECandidateType(Unknown)},
{"host", false, ICECandidateTypeHost},
{"srflx", false, ICECandidateTypeSrflx},
{"prflx", false, ICECandidateTypePrflx},
{"relay", false, ICECandidateTypeRelay},
}
for i, testCase := range testCases {
actual, err := NewICECandidateType(testCase.typeString)
if (err != nil) != testCase.shouldFail {
t.Error(err)
}
assert.Equal(t,
testCase.expectedType,
actual,
"testCase: %d %v", i, testCase,
)
}
}
func TestICECandidateType_String(t *testing.T) {
testCases := []struct {
cType ICECandidateType
expectedString string
}{
{ICECandidateType(Unknown), unknownStr},
{ICECandidateTypeHost, "host"},
{ICECandidateTypeSrflx, "srflx"},
{ICECandidateTypePrflx, "prflx"},
{ICECandidateTypeRelay, "relay"},
}
for i, testCase := range testCases {
assert.Equal(t,
testCase.expectedString,
testCase.cType.String(),
"testCase: %d %v", i, testCase,
)
}
}