1// +build go1.7
2
3package ini
4
5import (
6	"reflect"
7	"testing"
8)
9
10func TestIsSep(t *testing.T) {
11	cases := []struct {
12		b        []rune
13		expected bool
14	}{
15		{
16			b: []rune(``),
17		},
18		{
19			b: []rune(`"wee"`),
20		},
21		{
22			b:        []rune("["),
23			expected: true,
24		},
25		{
26			b:        []rune("]"),
27			expected: true,
28		},
29	}
30
31	for i, c := range cases {
32		if e, a := c.expected, isSep(c.b); e != a {
33			t.Errorf("%d: expected %t, but received %t", i+0, e, a)
34		}
35	}
36}
37
38func TestNewSep(t *testing.T) {
39	cases := []struct {
40		b             []rune
41		expectedRead  int
42		expectedError bool
43		expectedToken Token
44	}{
45		{
46			b:             []rune("["),
47			expectedRead:  1,
48			expectedToken: newToken(TokenSep, []rune("["), NoneType),
49		},
50		{
51			b:             []rune("]"),
52			expectedRead:  1,
53			expectedToken: newToken(TokenSep, []rune("]"), NoneType),
54		},
55	}
56
57	for i, c := range cases {
58		tok, n, err := newSepToken(c.b)
59
60		if e, a := c.expectedToken, tok; !reflect.DeepEqual(e, a) {
61			t.Errorf("%d: expected %v, but received %v", i+1, e, a)
62		}
63
64		if e, a := c.expectedRead, n; e != a {
65			t.Errorf("%d: expected %v, but received %v", i+1, e, a)
66		}
67
68		if e, a := c.expectedError, err != nil; e != a {
69			t.Errorf("%d: expected %v, but received %v", i+1, e, a)
70		}
71	}
72}
73