(t *testing.T)
| 286 | } |
| 287 | |
| 288 | func TestGenJava(t *testing.T) { |
| 289 | allTests := tests |
| 290 | if java.IsAvailable() { |
| 291 | allTests = append(append([]string{}, allTests...), javaTests...) |
| 292 | } |
| 293 | for _, filename := range allTests { |
| 294 | var pkg *types.Package |
| 295 | var file *ast.File |
| 296 | var buf bytes.Buffer |
| 297 | var cg *ClassGen |
| 298 | var classes []*java.Class |
| 299 | if filename != "" { |
| 300 | refs := fileRefs(t, filename, "Java/") |
| 301 | imp := &java.Importer{} |
| 302 | var err error |
| 303 | classes, err = imp.Import(refs) |
| 304 | if err != nil { |
| 305 | t.Fatal(err) |
| 306 | } |
| 307 | tmpGopath := "" |
| 308 | if len(classes) > 0 { |
| 309 | tmpGopath, err = os.MkdirTemp(os.TempDir(), "gomobile-bind-test-") |
| 310 | if err != nil { |
| 311 | t.Fatal(err) |
| 312 | } |
| 313 | defer os.RemoveAll(tmpGopath) |
| 314 | cg = &ClassGen{ |
| 315 | Printer: &Printer{ |
| 316 | IndentEach: []byte("\t"), |
| 317 | Buf: new(bytes.Buffer), |
| 318 | }, |
| 319 | } |
| 320 | cg.Init(classes, refs.Embedders) |
| 321 | genJavaPackages(t, tmpGopath, cg) |
| 322 | cg.Buf = &buf |
| 323 | } |
| 324 | pkg, file = typeCheck(t, filename, tmpGopath) |
| 325 | } |
| 326 | g := &JavaGen{ |
| 327 | Generator: &Generator{ |
| 328 | Printer: &Printer{Buf: &buf, IndentEach: []byte(" ")}, |
| 329 | Fset: fset, |
| 330 | Files: []*ast.File{file}, |
| 331 | Pkg: pkg, |
| 332 | }, |
| 333 | } |
| 334 | if pkg != nil { |
| 335 | g.AllPkg = []*types.Package{pkg} |
| 336 | } |
| 337 | g.Init(classes) |
| 338 | testCases := []struct { |
| 339 | suffix string |
| 340 | gen func() error |
| 341 | }{ |
| 342 | { |
| 343 | ".java.golden", |
| 344 | func() error { |
| 345 | for i := range g.ClassNames() { |
nothing calls this directly
no test coverage detected