github.com/aavshr/aws-sdk-go@v1.41.3/internal/ini/trim_spaces_test.go (about) 1 package ini 2 3 import ( 4 "reflect" 5 "testing" 6 ) 7 8 func TestTrimSpaces(t *testing.T) { 9 cases := []struct { 10 name string 11 node AST 12 expectedNode AST 13 }{ 14 { 15 name: "simple case", 16 node: AST{ 17 Root: Token{ 18 raw: []rune("foo"), 19 }, 20 }, 21 expectedNode: AST{ 22 Root: Token{ 23 raw: []rune("foo"), 24 }, 25 }, 26 }, 27 { 28 name: "LHS case", 29 node: AST{ 30 Root: Token{ 31 raw: []rune(" foo"), 32 }, 33 }, 34 expectedNode: AST{ 35 Root: Token{ 36 raw: []rune("foo"), 37 }, 38 }, 39 }, 40 { 41 name: "RHS case", 42 node: AST{ 43 Root: Token{ 44 raw: []rune("foo "), 45 }, 46 }, 47 expectedNode: AST{ 48 Root: Token{ 49 raw: []rune("foo"), 50 }, 51 }, 52 }, 53 { 54 name: "both sides case", 55 node: AST{ 56 Root: Token{ 57 raw: []rune(" foo "), 58 }, 59 }, 60 expectedNode: AST{ 61 Root: Token{ 62 raw: []rune("foo"), 63 }, 64 }, 65 }, 66 } 67 68 for _, c := range cases { 69 node := trimSpaces(c.node) 70 71 if e, a := c.expectedNode, node; !reflect.DeepEqual(e, a) { 72 t.Errorf("%s: expected %v, but received %v", c.name, e, a) 73 } 74 } 75 }