32 lines
731 B
Go
32 lines
731 B
Go
package lang
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestGenerateGoLowercaseImportedSelectors(t *testing.T) {
|
|
prog, err := Parse(`
|
|
package demo
|
|
|
|
import http net.http
|
|
import json encoding.json
|
|
|
|
fun main(handler: (http.ResponseWriter, *http.Request) -> Unit, body: ByteSlice, target: Any) {
|
|
http.handleFunc("/health", handler)
|
|
json.unmarshal(body, &target)
|
|
}
|
|
`)
|
|
if err != nil {
|
|
t.Fatalf("parse failed: %v", err)
|
|
}
|
|
out, err := GenerateGo(prog)
|
|
if err != nil {
|
|
t.Fatalf("generation failed: %v", err)
|
|
}
|
|
for _, want := range []string{"http.HandleFunc(\"/health\", handler)", "json.Unmarshal(body, &target)"} {
|
|
if !strings.Contains(string(out), want) {
|
|
t.Fatalf("generated Go missing %q:\n%s", want, out)
|
|
}
|
|
}
|
|
}
|