aboutsummaryrefslogtreecommitdiff
path: root/ber/obj_test.go
blob: 7f1c4ab40ea8b954770f662c28cc08346b0bf410 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package ber

import (
	"bytes"
	"testing"
)

type oidTest struct {
	oid OID
	out []byte
}

var oidTestData = []oidTest{
	{OID{1, 3, 12, 0, 218},
		[]byte{0x2B, 0x0C, 0x00, 0x81, 0x5A}},
	{OID{1, 3, 12, 0, 285, 200},
		[]byte{0x2B, 0x0C, 0x00, 0x82, 0x1D, 0x81, 0x48}},
	{OID{}, []byte{}},
	{OID{0, 39}, []byte{0x27}},
	{OID{1, 39}, []byte{0x4f}},
	{OID{1, 40}, []byte{}},
	{OID{2, 40}, []byte{0x78}},
}

func TestOID(t *testing.T) {
	for _, test := range oidTestData {
		oid := marshalOID(test.oid)
		if !bytes.Equal(oid, test.out) {
			t.Error(test.oid, "expected", test.out, "got", oid)
		}
	}
}