mirror of
				https://github.com/pion/webrtc.git
				synced 2025-10-31 18:52:55 +08:00 
			
		
		
		
	 2838b1a836
			
		
	
	2838b1a836
	
	
	
		
			
			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`
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package webrtc
 | |
| 
 | |
| import (
 | |
| 	"testing"
 | |
| 
 | |
| 	"github.com/stretchr/testify/assert"
 | |
| )
 | |
| 
 | |
| func TestNewICEProtocol(t *testing.T) {
 | |
| 	testCases := []struct {
 | |
| 		protoString   string
 | |
| 		shouldFail    bool
 | |
| 		expectedProto ICEProtocol
 | |
| 	}{
 | |
| 		{unknownStr, true, ICEProtocol(Unknown)},
 | |
| 		{"udp", false, ICEProtocolUDP},
 | |
| 		{"tcp", false, ICEProtocolTCP},
 | |
| 		{"UDP", false, ICEProtocolUDP},
 | |
| 		{"TCP", false, ICEProtocolTCP},
 | |
| 	}
 | |
| 
 | |
| 	for i, testCase := range testCases {
 | |
| 		actual, err := NewICEProtocol(testCase.protoString)
 | |
| 		if (err != nil) != testCase.shouldFail {
 | |
| 			t.Error(err)
 | |
| 		}
 | |
| 		assert.Equal(t,
 | |
| 			testCase.expectedProto,
 | |
| 			actual,
 | |
| 			"testCase: %d %v", i, testCase,
 | |
| 		)
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func TestICEProtocol_String(t *testing.T) {
 | |
| 	testCases := []struct {
 | |
| 		proto          ICEProtocol
 | |
| 		expectedString string
 | |
| 	}{
 | |
| 		{ICEProtocol(Unknown), unknownStr},
 | |
| 		{ICEProtocolUDP, "udp"},
 | |
| 		{ICEProtocolTCP, "tcp"},
 | |
| 	}
 | |
| 
 | |
| 	for i, testCase := range testCases {
 | |
| 		assert.Equal(t,
 | |
| 			testCase.expectedString,
 | |
| 			testCase.proto.String(),
 | |
| 			"testCase: %d %v", i, testCase,
 | |
| 		)
 | |
| 	}
 | |
| }
 |