1// A facebook graph api client in go. 2// https://github.com/huandu/facebook/ 3// 4// Copyright 2012, Huan Du 5// Licensed under the MIT license 6// https://github.com/huandu/facebook/blob/master/LICENSE 7 8package facebook 9 10import ( 11 "bytes" 12 "strings" 13 "testing" 14) 15 16func TestBinaryParamsEncode(t *testing.T) { 17 18 buf := &bytes.Buffer{} 19 params := Params{} 20 params["attachment"] = FileAlias("image.jpg", "LICENSE") 21 22 contentTypeImage := "Content-Type: image/jpeg" 23 if mime, err := params.Encode(buf); err != nil || !strings.Contains(mime, _MIME_FORM_DATA) || !strings.Contains(buf.String(), contentTypeImage) { 24 t.Fatalf("wrong binary params encode result. expected content type is '%v'. actual is '%v'. [e:%v] [mime:%v]", contentTypeImage, buf.String(), err, mime) 25 } 26 27 // Fallback for unknown content types 28 // should be application/octet-stream 29 buf.Reset() 30 params = Params{"attachment": FileAlias("image.unknown", "LICENSE")} 31 contentTypeOctet := "Content-Type: application/octet-stream" 32 if mime, err := params.Encode(buf); err != nil || !strings.Contains(mime, _MIME_FORM_DATA) || !strings.Contains(buf.String(), contentTypeOctet) { 33 t.Fatalf("wrong binary params encode result. expected content type is '%v'. actual is '%v'. [e:%v] [mime:%v]", contentTypeOctet, buf.String(), err, mime) 34 } 35} 36