github.com/xyproto/u-root@v6.0.1-0.20200302025726-5528e0c77a3c+incompatible/pkg/vmtest/fields_test.go (about) 1 // Copyright 2019 the u-root Authors. All rights reserved 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package vmtest 6 7 import ( 8 "reflect" 9 "testing" 10 ) 11 12 func TestFields(t *testing.T) { 13 for _, test := range []struct { 14 data string 15 want []string 16 }{ 17 { 18 data: "foo bar baz", 19 want: []string{"foo", "bar", "baz"}, 20 }, 21 { 22 data: "foo\tbar\nbaz", 23 want: []string{"foo", "bar", "baz"}, 24 }, 25 { 26 data: `"foo bar" baz`, 27 want: []string{`foo bar`, "baz"}, 28 }, 29 { 30 data: `"foo\tbar" baz`, 31 want: []string{`foo\tbar`, "baz"}, 32 }, 33 { 34 data: `foo "bar baz"`, 35 want: []string{"foo", `bar baz`}, 36 }, 37 { 38 data: `foo "bar' baz`, 39 want: []string{"foo", `bar' baz`}, 40 }, 41 { 42 data: `foo bar "baz`, 43 want: []string{"foo", "bar", `baz`}, 44 }, 45 } { 46 t.Run(test.data, func(t *testing.T) { 47 got := fields(test.data) 48 if !reflect.DeepEqual(got, test.want) { 49 t.Errorf("fields() got %#v, want %#v", got, test.want) 50 } 51 }) 52 } 53 }