46 lines
583 B
Go
46 lines
583 B
Go
|
package locale
|
||
|
|
||
|
import (
|
||
|
"reflect"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func TestParseHeader(t *testing.T) {
|
||
|
tt := []struct {
|
||
|
In string
|
||
|
Out []string
|
||
|
}{
|
||
|
{
|
||
|
"en",
|
||
|
[]string{"en"},
|
||
|
},
|
||
|
{
|
||
|
"en-GB",
|
||
|
[]string{"en_GB"},
|
||
|
},
|
||
|
{
|
||
|
"en-GB;q=0.5,it",
|
||
|
[]string{"it", "en_GB"},
|
||
|
},
|
||
|
{
|
||
|
"en-GB;q=0.5,it,pl;q=0.2",
|
||
|
[]string{"it", "en_GB", "pl"},
|
||
|
},
|
||
|
{
|
||
|
"en-GB;q=0.5,pl;q=xd",
|
||
|
[]string{"pl", "en_GB"},
|
||
|
},
|
||
|
{
|
||
|
"",
|
||
|
nil,
|
||
|
},
|
||
|
}
|
||
|
|
||
|
for _, el := range tt {
|
||
|
got := ParseHeader(el.In)
|
||
|
if !reflect.DeepEqual(got, el.Out) {
|
||
|
t.Errorf("got %v want %v", got, el.Out)
|
||
|
}
|
||
|
}
|
||
|
}
|