MCPcopy Create free account
hub / github.com/golang/mobile / TestGenJava

Function TestGenJava

bind/bind_test.go:288–401  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

286}
287
288func 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() {

Callers

nothing calls this directly

Calls 15

ImportMethod · 0.95
InitMethod · 0.95
InitMethod · 0.95
ClassNamesMethod · 0.95
GenClassMethod · 0.95
GenJavaMethod · 0.95
GenCMethod · 0.95
GenCMethod · 0.95
GenHMethod · 0.95
GenHMethod · 0.95
IsAvailableFunction · 0.92
fileRefsFunction · 0.85

Tested by

no test coverage detected