26 lines
513 B
Go
26 lines
513 B
Go
package lang
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestGenerateGoIndexedDataClassSelector(t *testing.T) {
|
|
prog, err := Parse(`
|
|
package demo
|
|
|
|
data class User(var id: String)
|
|
|
|
fun first(users: List<User>): String { return users[0].id }
|
|
`)
|
|
if err != nil {
|
|
t.Fatalf("parse failed: %v", err)
|
|
}
|
|
out, err := GenerateGo(prog)
|
|
if err != nil {
|
|
t.Fatalf("generation failed: %v", err)
|
|
}
|
|
if !strings.Contains(string(out), "return users[0].Id") {
|
|
t.Fatalf("generated Go missing indexed selector:\n%s", out)
|
|
}
|
|
}
|