2020-03-01 01:13:37 +00:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"net/http"
|
|
|
|
"net/http/httptest"
|
|
|
|
"reflect"
|
|
|
|
"testing"
|
|
|
|
)
|
|
|
|
|
|
|
|
var url = "https://wttr.in"
|
|
|
|
|
|
|
|
func headerEqual(req *http.Request, headers map[string][]string) bool {
|
|
|
|
for key, value := range req.Header {
|
|
|
|
if !reflect.DeepEqual(value, headers[key]) {
|
|
|
|
fmt.Printf("Failed to get expected headers \"%s\": %s != %s", key, value, headers[key])
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return true
|
|
|
|
}
|
|
|
|
|
|
|
|
type newRequestResults struct {
|
|
|
|
headers map[string]string
|
|
|
|
expectedURL string
|
|
|
|
expectedMethod string
|
|
|
|
expectedHeaders map[string][]string
|
|
|
|
expectedProto string
|
|
|
|
}
|
|
|
|
|
|
|
|
var newRequestTestResults = []newRequestResults{
|
|
|
|
{make(map[string]string), url, "GET", map[string][]string{"Content-Type": []string{"text/plain; charset=utf-8"}, "User-Agent": []string{"curl"}}, "HTTP/1.1"},
|
|
|
|
{map[string]string{"Content-Type": "text/html"}, url, "GET", map[string][]string{"Content-Type": []string{"text/html"}, "User-Agent": []string{"curl"}, "Language": []string{"fr"}}, "HTTP/1.1"},
|
|
|
|
{map[string]string{"Language": "fr"}, url, "GET", map[string][]string{"Content-Type": []string{"text/plain; charset=utf-8"}, "User-Agent": []string{"curl"}, "Language": []string{"fr"}}, "HTTP/1.1"},
|
|
|
|
{map[string]string{"Language": "fr", "Location": "Berlin"}, url, "GET", map[string][]string{"Content-Type": []string{"text/plain; charset=utf-8"}, "User-Agent": []string{"curl"}, "Language": []string{"fr"}, "Location": []string{"Berlin"}}, "HTTP/1.1"},
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestNewRequest(t *testing.T) {
|
|
|
|
w := weather{url}
|
|
|
|
for _, requestResult := range newRequestTestResults {
|
|
|
|
req := w.newRequest(requestResult.headers)
|
|
|
|
if req.URL.String() != requestResult.expectedURL {
|
|
|
|
t.Fatalf("Failed to get expected URL: %s != %s", req.URL.String(), requestResult.expectedURL)
|
|
|
|
}
|
|
|
|
if req.Method != requestResult.expectedMethod {
|
|
|
|
t.Fatalf("Failed to get expected method: %s != %s", req.Method, requestResult.expectedMethod)
|
|
|
|
}
|
|
|
|
if req.Proto != requestResult.expectedProto {
|
|
|
|
t.Fatalf("Failed to get expected protocol: %s != %s", req.Proto, requestResult.expectedProto)
|
|
|
|
}
|
|
|
|
|
|
|
|
if !headerEqual(req, requestResult.expectedHeaders) {
|
|
|
|
t.Fatal()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestFormatHeader(t *testing.T) {
|
|
|
|
w := weather{url}
|
|
|
|
req := httptest.NewRequest("GET", url, nil)
|
|
|
|
|
|
|
|
for _, requestResult := range newRequestTestResults {
|
|
|
|
newReq := w.formatHeader(req, requestResult.headers)
|
|
|
|
|
|
|
|
if !headerEqual(newReq, requestResult.expectedHeaders) {
|
|
|
|
t.Fatal()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
type generatedParams struct {
|
|
|
|
switches []*bool
|
|
|
|
freeStyle string
|
|
|
|
format string
|
|
|
|
oneLiner bool
|
|
|
|
png bool
|
|
|
|
addFrame bool
|
|
|
|
transparency int
|
|
|
|
download bool
|
|
|
|
expectedAffix string
|
|
|
|
expectedDownload bool
|
|
|
|
}
|
|
|
|
|
|
|
|
var boolTrue = true
|
|
|
|
var boolFalse = false
|
|
|
|
|
|
|
|
var generatedParamsResults = []generatedParams{
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?", false},
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?m", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?u", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?M", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?0", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?1", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?2", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?A", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?F", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?nq", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse}, "", "", false, false, false, 0, false, "?Q", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue}, "", "", false, false, false, 0, false, "?T", false},
|
|
|
|
|
|
|
|
{[]*bool{&boolTrue, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?mu", false},
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?mM", false},
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?m0", false},
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?m1", false},
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?m2", false},
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?mA", false},
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?mF", false},
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?mnq", false},
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse}, "", "", false, false, false, 0, false, "?mQ", false},
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue}, "", "", false, false, false, 0, false, "?mT", false},
|
|
|
|
|
|
|
|
{[]*bool{&boolTrue, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?mu", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?uM", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?u0", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?u1", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?u2", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?uA", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?uF", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?unq", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse}, "", "", false, false, false, 0, false, "?uQ", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue}, "", "", false, false, false, 0, false, "?uT", false},
|
|
|
|
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?mM", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?uM", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?M0", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?M1", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?M2", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?MA", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?MF", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?Mnq", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse}, "", "", false, false, false, 0, false, "?MQ", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue}, "", "", false, false, false, 0, false, "?MT", false},
|
|
|
|
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?m0", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?u0", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?M0", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?01", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?02", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?0A", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?0F", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?0nq", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse}, "", "", false, false, false, 0, false, "?0Q", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue}, "", "", false, false, false, 0, false, "?0T", false},
|
|
|
|
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?m1", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?u1", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?M1", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?01", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?12", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?1A", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?1F", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?1nq", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse}, "", "", false, false, false, 0, false, "?1Q", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue}, "", "", false, false, false, 0, false, "?1T", false},
|
|
|
|
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?m2", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?u2", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?M2", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?02", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?12", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?2A", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?2F", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?2nq", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse}, "", "", false, false, false, 0, false, "?2Q", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue}, "", "", false, false, false, 0, false, "?2T", false},
|
|
|
|
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?mA", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?uA", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?MA", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?0A", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?1A", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?2A", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?AF", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?Anq", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse}, "", "", false, false, false, 0, false, "?AQ", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue}, "", "", false, false, false, 0, false, "?AT", false},
|
|
|
|
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?mF", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?uF", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?MF", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?0F", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?1F", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?2F", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?AF", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolTrue, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?Fnq", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolTrue, &boolFalse}, "", "", false, false, false, 0, false, "?FQ", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolTrue}, "", "", false, false, false, 0, false, "?FT", false},
|
|
|
|
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?mn", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?un", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?Mn", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?0n", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?1n", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?2n", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?An", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?Fn", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolTrue, &boolFalse}, "", "", false, false, false, 0, false, "?nQ", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolTrue}, "", "", false, false, false, 0, false, "?nT", false},
|
|
|
|
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?mq", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?uq", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?Mq", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?0q", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?1q", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?2q", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?Aq", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolTrue, &boolFalse, &boolFalse}, "", "", false, false, false, 0, false, "?Fq", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse}, "", "", false, false, false, 0, false, "?qQ", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolTrue}, "", "", false, false, false, 0, false, "?qT", false},
|
|
|
|
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse}, "", "", false, false, false, 0, false, "?mQ", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse}, "", "", false, false, false, 0, false, "?uQ", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse}, "", "", false, false, false, 0, false, "?MQ", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse}, "", "", false, false, false, 0, false, "?0Q", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse}, "", "", false, false, false, 0, false, "?1Q", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse}, "", "", false, false, false, 0, false, "?2Q", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse}, "", "", false, false, false, 0, false, "?AQ", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolTrue, &boolFalse}, "", "", false, false, false, 0, false, "?FQ", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolTrue, &boolFalse}, "", "", false, false, false, 0, false, "?nqQ", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue}, "", "", false, false, false, 0, false, "?QT", false},
|
|
|
|
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue}, "", "", false, false, false, 0, false, "?mT", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue}, "", "", false, false, false, 0, false, "?uT", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue}, "", "", false, false, false, 0, false, "?MT", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue}, "", "", false, false, false, 0, false, "?0T", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue}, "", "", false, false, false, 0, false, "?1T", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue}, "", "", false, false, false, 0, false, "?2T", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue}, "", "", false, false, false, 0, false, "?AT", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolTrue}, "", "", false, false, false, 0, false, "?FT", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolTrue}, "", "", false, false, false, 0, false, "?nqT", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue}, "", "", false, false, false, 0, false, "?QT", false},
|
|
|
|
|
|
|
|
// FreeStyle
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "freestyle", "", false, false, false, 0, false, "freestyle", false},
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "freestyle", "", false, false, false, 0, false, "freestyle", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "freestyle", "", true, false, false, 0, false, "freestyle", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "freestyle", "", false, true, false, 0, false, "freestyle", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "freestyle", "", false, false, true, 0, false, "freestyle", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "freestyle", "", true, true, false, 0, false, "freestyle", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "freestyle", "", true, false, true, 0, false, "freestyle", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "freestyle", "", true, true, true, 0, false, "freestyle", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "freestyle", "", false, false, false, 100, false, "freestyle", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse}, "freestyle", "", true, false, false, 100, false, "freestyle", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse}, "freestyle", "", false, true, false, 100, false, "freestyle", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue}, "freestyle", "", false, false, true, 100, false, "freestyle", false},
|
|
|
|
|
|
|
|
{[]*bool{&boolTrue, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "freestyle", "", true, false, true, 100, false, "freestyle", false},
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "freestyle", "", true, true, false, 100, false, "freestyle", false},
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "freestyle", "", true, true, true, 100, false, "freestyle", false},
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "freestyle", "format", false, false, false, 0, true, "freestyle", true},
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "freestyle", "format", false, true, false, 0, true, "freestyle", true},
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "freestyle", "format", false, false, true, 0, true, "freestyle", true},
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "freestyle", "format", true, false, false, 0, true, "freestyle", true},
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse}, "freestyle", "format", true, true, false, 0, true, "freestyle", true},
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse}, "freestyle", "format", true, false, true, 0, true, "freestyle", true},
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue}, "freestyle", "format", true, true, true, 0, true, "freestyle", true},
|
|
|
|
|
|
|
|
// Format
|
2020-03-01 10:08:50 +00:00
|
|
|
{[]*bool{&boolTrue, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "format", false, false, false, 0, false, "?format=format", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "format", true, false, false, 0, false, "?format=format", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "format", false, true, false, 100, false, "?format=format", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "format", false, false, true, 0, false, "?format=format", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "format", true, true, false, 100, false, "?format=format", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "format", true, false, true, 0, false, "?format=format", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "format", true, true, true, 100, false, "?format=format", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse}, "", "format", false, false, false, 0, true, "?format=format", true},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse}, "", "format", false, false, false, 100, true, "?format=format", true},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue}, "", "format", false, false, false, 0, true, "?format=format", true},
|
2020-03-01 01:13:37 +00:00
|
|
|
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", true, false, false, 0, false, "?format=3", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, true, false, 0, false, "_uM_transparency=0.png", true},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, true, 0, false, "?M0", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", true, true, false, 0, false, "?format=3", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", true, false, true, 0, false, "?format=3", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", true, true, true, 0, false, "?format=3", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 100, false, "?MF", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse}, "", "", true, false, false, 100, false, "?format=3", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolFalse}, "", "", false, true, false, 100, false, "_MQ_transparency=100.png", true},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolTrue}, "", "", false, false, true, 100, false, "?MT", false},
|
|
|
|
|
|
|
|
{[]*bool{&boolTrue, &boolFalse, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", true, true, false, 100, false, "?format=3", false},
|
|
|
|
{[]*bool{&boolFalse, &boolTrue, &boolFalse, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", true, false, true, 100, false, "?format=3", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", true, true, true, 100, false, "?format=3", false},
|
|
|
|
{[]*bool{&boolFalse, &boolFalse, &boolFalse, &boolTrue, &boolTrue, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse, &boolFalse}, "", "", false, false, false, 0, true, "?01", true},
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestGenerateParamFormat(t *testing.T) {
|
|
|
|
|
|
|
|
for _, p := range generatedParamsResults {
|
|
|
|
f, d, _ := generateParamFormat(p.switches, &p.freeStyle, &p.format, &p.oneLiner, &p.png, &p.addFrame, &p.transparency, &p.download)
|
|
|
|
if f != p.expectedAffix {
|
|
|
|
t.Fatalf("Failed to get expected affix: %s != %s", f, p.expectedAffix)
|
|
|
|
}
|
|
|
|
|
|
|
|
if d != p.expectedDownload {
|
|
|
|
t.Fatalf("Failed to get expected download: %t != %t", d, p.expectedDownload)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
type generateURLResults struct {
|
|
|
|
domain string
|
|
|
|
v2 bool
|
|
|
|
location string
|
|
|
|
lang string
|
|
|
|
affix string
|
|
|
|
expectedURL string
|
|
|
|
expectedHeaders map[string]string
|
|
|
|
}
|
|
|
|
|
|
|
|
var domain = "wttr.in"
|
|
|
|
|
|
|
|
var generateURLTestResults = []generateURLResults{
|
|
|
|
{domain, false, "", "", "", "https://wttr.in/", map[string]string{}},
|
|
|
|
{domain, false, "", "de", "", "https://wttr.in/", map[string]string{"Accept-Language": "de"}},
|
|
|
|
{domain, false, "", "de", "?affix", "https://wttr.in/?affix", map[string]string{"Accept-Language": "de"}},
|
|
|
|
{domain, false, "Paris", "", "", "https://wttr.in/Paris", map[string]string{}},
|
|
|
|
{domain, false, "Paris", "de", "", "https://wttr.in/Paris", map[string]string{"Accept-Language": "de"}},
|
|
|
|
{domain, false, "Paris", "de", "?affix", "https://wttr.in/Paris?affix", map[string]string{"Accept-Language": "de"}},
|
|
|
|
{domain, true, "", "", "", "https://v2.wttr.in/", map[string]string{}},
|
|
|
|
{domain, true, "", "de", "", "https://v2.wttr.in/", map[string]string{"Accept-Language": "de"}},
|
|
|
|
{domain, true, "", "de", "?affix", "https://v2.wttr.in/?affix", map[string]string{"Accept-Language": "de"}},
|
|
|
|
{domain, true, "Paris", "", "", "https://v2.wttr.in/Paris", map[string]string{}},
|
|
|
|
{domain, true, "Paris", "de", "", "https://v2.wttr.in/Paris", map[string]string{"Accept-Language": "de"}},
|
|
|
|
{domain, true, "Paris", "de", "?affix", "https://v2.wttr.in/Paris?affix", map[string]string{"Accept-Language": "de"}},
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestGenerateURL(t *testing.T) {
|
|
|
|
|
|
|
|
for _, g := range generateURLTestResults {
|
|
|
|
a, h := generateURL(g.domain, g.v2, g.location, g.lang, g.affix)
|
|
|
|
if a != g.expectedURL {
|
|
|
|
t.Fatalf("Failed to get expected URL: %s != %s", a, g.expectedURL)
|
|
|
|
}
|
|
|
|
|
|
|
|
if !reflect.DeepEqual(h, g.expectedHeaders) {
|
|
|
|
t.Fatalf("Failed to get expected headers: %s != %s", h, g.expectedHeaders)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|