package mediarange_test import ( "sourcecode.social/reiver/go-httpaccept/mediarange" "testing" ) func TestMediaRange_String(t *testing.T) { tests := []struct{ MediaRange mediarange.MediaRange Expected string }{ { MediaRange: mediarange.Create("", ""), Expected: "*"+"/"+"*", }, { MediaRange: mediarange.Create("*" , "*"), Expected: "*"+"/"+"*", }, { MediaRange: mediarange.Create("application" , ""), Expected: "application"+"/"+"*", }, { MediaRange: mediarange.Create("audio" , ""), Expected: "audio"+"/"+"*", }, { MediaRange: mediarange.Create("font" , ""), Expected: "font"+"/"+"*", }, { MediaRange: mediarange.Create("image" , ""), Expected: "image"+"/"+"*", }, { MediaRange: mediarange.Create("text" , ""), Expected: "text"+"/"+"*", }, { MediaRange: mediarange.Create("video" , ""), Expected: "video"+"/"+"*", }, { MediaRange: mediarange.Create("xyz" , ""), Expected: "xyz"+"/"+"*", }, { MediaRange: mediarange.Create("application" , "*"), Expected: "application"+"/"+"*", }, { MediaRange: mediarange.Create("audio" , "*"), Expected: "audio"+"/"+"*", }, { MediaRange: mediarange.Create("font" , "*"), Expected: "font"+"/"+"*", }, { MediaRange: mediarange.Create("image" , "*"), Expected: "image"+"/"+"*", }, { MediaRange: mediarange.Create("text" , ""), Expected: "text"+"/"+"*", }, { MediaRange: mediarange.Create("video" , ""), Expected: "video"+"/"+"*", }, { MediaRange: mediarange.Create("xyz" , ""), Expected: "xyz"+"/"+"*", }, { MediaRange: mediarange.Create("Application" , "*"), Expected: "application"+"/"+"*", }, { MediaRange: mediarange.Create("Audio" , "*"), Expected: "audio"+"/"+"*", }, { MediaRange: mediarange.Create("Font" , "*"), Expected: "font"+"/"+"*", }, { MediaRange: mediarange.Create("Image" , "*"), Expected: "image"+"/"+"*", }, { MediaRange: mediarange.Create("Text" , ""), Expected: "text"+"/"+"*", }, { MediaRange: mediarange.Create("Video" , ""), Expected: "video"+"/"+"*", }, { MediaRange: mediarange.Create("Xyz" , ""), Expected: "xyz"+"/"+"*", }, { MediaRange: mediarange.Create("APPLICATION" , "*"), Expected: "application"+"/"+"*", }, { MediaRange: mediarange.Create("AUDIO" , "*"), Expected: "audio"+"/"+"*", }, { MediaRange: mediarange.Create("FONT" , "*"), Expected: "font"+"/"+"*", }, { MediaRange: mediarange.Create("IMAGE" , "*"), Expected: "image"+"/"+"*", }, { MediaRange: mediarange.Create("TEXT" , ""), Expected: "text"+"/"+"*", }, { MediaRange: mediarange.Create("VIDEO" , ""), Expected: "video"+"/"+"*", }, { MediaRange: mediarange.Create("XYZ" , ""), Expected: "xyz"+"/"+"*", }, { MediaRange: mediarange.Create("application" , "activity+json"), Expected: "application"+"/"+"activity+json", }, { MediaRange: mediarange.Create("application" , "epub+zip"), Expected: "application"+"/"+"epub+zip", }, { MediaRange: mediarange.Create("application" , "gzip"), Expected: "application"+"/"+"gzip", }, { MediaRange: mediarange.Create("application" , "java-archive"), Expected: "application"+"/"+"java-archive", }, { MediaRange: mediarange.Create("application" , "json"), Expected: "application"+"/"+"json", }, { MediaRange: mediarange.Create("application" , "ld+json"), Expected: "application"+"/"+"ld+json", }, { MediaRange: mediarange.Create("application" , "pdf"), Expected: "application"+"/"+"pdf", }, { MediaRange: mediarange.Create("application" , "msword"), Expected: "application"+"/"+"msword", }, { MediaRange: mediarange.Create("application" , "octet-stream"), Expected: "application"+"/"+"octet-stream", }, { MediaRange: mediarange.Create("application" , "ogg"), Expected: "application"+"/"+"ogg", }, { MediaRange: mediarange.Create("application" , "rtf"), Expected: "application"+"/"+"rtf", }, { MediaRange: mediarange.Create("application" , "vnd.oasis.opendocument.spreadsheet"), Expected: "application"+"/"+"vnd.oasis.opendocument.spreadsheet", }, { MediaRange: mediarange.Create("application" , "vnd.openxmlformats-officedocument.wordprocessingml.document"), Expected: "application"+"/"+"vnd.openxmlformats-officedocument.wordprocessingml.document", }, { MediaRange: mediarange.Create("application" , "vnd.mozilla.xul+xml"), Expected: "application"+"/"+"vnd.mozilla.xul+xml", }, { MediaRange: mediarange.Create("application" , "vnd.ms-excel"), Expected: "application"+"/"+"vnd.ms-excel", }, { MediaRange: mediarange.Create("application" , "x-7z-compressed"), Expected: "application"+"/"+"x-7z-compressed", }, { MediaRange: mediarange.Create("application" , "x-bzip"), Expected: "application"+"/"+"x-bzip", }, { MediaRange: mediarange.Create("application" , "x-bzip2"), Expected: "application"+"/"+"x-bzip2", }, { MediaRange: mediarange.Create("application" , "x-cdf"), Expected: "application"+"/"+"x-cdf", }, { MediaRange: mediarange.Create("application" , "x-csh"), Expected: "application"+"/"+"x-csh", }, { MediaRange: mediarange.Create("application" , "x-freearc"), Expected: "application"+"/"+"x-freearc", }, { MediaRange: mediarange.Create("application" , "x-httpd-php"), Expected: "application"+"/"+"x-httpd-php", }, { MediaRange: mediarange.Create("application" , "x-sh"), Expected: "application"+"/"+"x-sh", }, { MediaRange: mediarange.Create("application" , "x-tar"), Expected: "application"+"/"+"x-tar", }, { MediaRange: mediarange.Create("application" , "xhtml+xml"), Expected: "application"+"/"+"xhtml+xml", }, { MediaRange: mediarange.Create("audio" , "aac"), Expected: "audio"+"/"+"aac", }, { MediaRange: mediarange.Create("audio" , "midi"), Expected: "audio"+"/"+"midi", }, { MediaRange: mediarange.Create("audio" , "mpeg"), Expected: "audio"+"/"+"mpeg", }, { MediaRange: mediarange.Create("audio" , "ogg"), Expected: "audio"+"/"+"ogg", }, { MediaRange: mediarange.Create("audio" , "opus"), Expected: "audio"+"/"+"opus", }, { MediaRange: mediarange.Create("audio" , "wav"), Expected: "audio"+"/"+"wav", }, { MediaRange: mediarange.Create("audio" , "webm"), Expected: "audio"+"/"+"webm", }, { MediaRange: mediarange.Create("audio" , "3gpp"), Expected: "audio"+"/"+"3gpp", }, { MediaRange: mediarange.Create("audio" , "3gpp2"), Expected: "audio"+"/"+"3gpp2", }, { MediaRange: mediarange.Create("audio" , "x-midi"), Expected: "audio"+"/"+"x-midi", }, { MediaRange: mediarange.Create("font" , "ttf"), Expected: "font"+"/"+"ttf", }, { MediaRange: mediarange.Create("image" , "avif"), Expected: "image"+"/"+"avif", }, { MediaRange: mediarange.Create("image" , "bmp"), Expected: "image"+"/"+"bmp", }, { MediaRange: mediarange.Create("image" , "gif"), Expected: "image"+"/"+"gif", }, { MediaRange: mediarange.Create("image" , "png"), Expected: "image"+"/"+"png", }, { MediaRange: mediarange.Create("image" , "tiff"), Expected: "image"+"/"+"tiff", }, { MediaRange: mediarange.Create("text" , "css"), Expected: "text"+"/"+"css", }, { MediaRange: mediarange.Create("text" , "csv"), Expected: "text"+"/"+"csv", }, { MediaRange: mediarange.Create("text" , "html"), Expected: "text"+"/"+"html", }, { MediaRange: mediarange.Create("text" , "javascript"), Expected: "text"+"/"+"javascript", }, { MediaRange: mediarange.Create("text" , "markdown"), Expected: "text"+"/"+"markdown", }, { MediaRange: mediarange.Create("text" , "plain"), Expected: "text"+"/"+"plain", }, { MediaRange: mediarange.Create("text" , "x-markdown"), Expected: "text"+"/"+"x-markdown", }, { MediaRange: mediarange.Create("video" , "3gpp2"), Expected: "video"+"/"+"3gpp2", }, { MediaRange: mediarange.Create("video" , "ogg"), Expected: "video"+"/"+"ogg", }, { MediaRange: mediarange.Create("video" , "mp2t"), Expected: "video"+"/"+"mp2t", }, { MediaRange: mediarange.Create("video" , "mp4"), Expected: "video"+"/"+"mp4", }, { MediaRange: mediarange.Create("video" , "mpeg"), Expected: "video"+"/"+"mpeg", }, { MediaRange: mediarange.Create("video" , "webm"), Expected: "video"+"/"+"webm", }, { MediaRange: mediarange.Create("video" , "x-msvideo"), Expected: "video"+"/"+"x-msvideo", }, { MediaRange: mediarange.Create("application" , "ACTIVITY+JSON"), Expected: "application"+"/"+"activity+json", }, { MediaRange: mediarange.Create("audio" , "MPEG"), Expected: "audio"+"/"+"mpeg", }, { MediaRange: mediarange.Create("font" , "TTF"), Expected: "font"+"/"+"ttf", }, { MediaRange: mediarange.Create("image" , "PNG"), Expected: "image"+"/"+"png", }, { MediaRange: mediarange.Create("text" , "HTML"), Expected: "text"+"/"+"html", }, { MediaRange: mediarange.Create("video" , "OGG"), Expected: "video"+"/"+"ogg", }, { MediaRange: mediarange.Create("xyz" , "BANANA"), Expected: "xyz"+"/"+"banana", }, } for testNumber, test := range tests { actual := test.MediaRange.String() expected := test.Expected if expected != actual { t.Errorf("For test #%d, the actual (serialized) stringer value is not what was expected.", testNumber) t.Logf("MEDIA-RANGE: %#v", test.MediaRange) t.Logf("EXPECTED: %q", expected) t.Logf("ACTUAL: %q", actual) continue } } }