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