gotlin/internal/lang/go_interop_test.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)
}
}
}