mirror of https://bitbucket.org/ausocean/av.git
87 lines
1.9 KiB
Go
87 lines
1.9 KiB
Go
|
/*
|
||
|
NAME
|
||
|
rtmp_test.go
|
||
|
|
||
|
DESCRIPTION
|
||
|
See Readme.md
|
||
|
|
||
|
AUTHOR
|
||
|
Saxon Nelson-Milton <saxon@ausocean.org>
|
||
|
|
||
|
LICENSE
|
||
|
rtmp_test.go is Copyright (C) 2017 the Australian Ocean Lab (AusOcean)
|
||
|
|
||
|
It is free software: you can redistribute it and/or modify them
|
||
|
under the terms of the GNU General Public License as published by the
|
||
|
Free Software Foundation, either version 3 of the License, or (at your
|
||
|
option) any later version.
|
||
|
|
||
|
It is distributed in the hope that it will be useful, but WITHOUT
|
||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||
|
for more details.
|
||
|
|
||
|
You should have received a copy of the GNU General Public License
|
||
|
along with revid in gpl.txt. If not, see http://www.gnu.org/licenses.
|
||
|
*/
|
||
|
|
||
|
package rtmp
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
"unsafe"
|
||
|
)
|
||
|
|
||
|
const (
|
||
|
byteSize = 1
|
||
|
int32Size = 4
|
||
|
int64Size = 8
|
||
|
)
|
||
|
|
||
|
var (
|
||
|
byteArr = [...]byte{0x01,0x02,0x03,0x04,0x05,0x06}
|
||
|
int32Arr = [...]int32{1,2,3,4,5,6}
|
||
|
int64Arr = [...]int64{1,2,3,4,5,6}
|
||
|
)
|
||
|
|
||
|
func TestIncPtr(t *testing.T){
|
||
|
errMsg := "Obtained: %v, but wanted: %v"
|
||
|
|
||
|
// Test how it deals with bytes
|
||
|
bytePtr := unsafe.Pointer(&byteArr[0])
|
||
|
inc := 4
|
||
|
valueByte := *(*byte)(incPtr(bytePtr,inc,byteSize))
|
||
|
if valueByte != byteArr[inc] {
|
||
|
t.Errorf(errMsg,valueByte,byteArr[inc])
|
||
|
}
|
||
|
|
||
|
// Test how it deals with ints
|
||
|
intPtr := unsafe.Pointer(&int32Arr[0])
|
||
|
inc = 3
|
||
|
valueInt32 := *(*int32)(incPtr(intPtr,inc,int32Size))
|
||
|
if valueInt32 != int32Arr[inc] {
|
||
|
t.Errorf(errMsg,valueInt32,int32Arr[inc])
|
||
|
}
|
||
|
|
||
|
// Test how it deals with int64
|
||
|
int64Ptr := unsafe.Pointer(&int64Arr[0])
|
||
|
inc = 5
|
||
|
valueInt64 := *(*int64)(incPtr(int64Ptr,inc,int64Size))
|
||
|
if valueInt64 != int64Arr[inc] {
|
||
|
t.Errorf(errMsg,valueInt64,int64Arr[inc])
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestDecPtr(t *testing.T){
|
||
|
}
|
||
|
|
||
|
|
||
|
/*
|
||
|
func TestPtrToSlice(t *testing.T){
|
||
|
}
|
||
|
*/
|
||
|
|
||
|
func TestIndxPtr(t *testing.T){
|
||
|
|
||
|
}
|